dependency cycles are bad mmmkay