i swear, who invented circular dependencies in npm? it's like they want to make my life harder than it needs to be