solved cyclic dependencies