cyclic dependencies removed