Fixed circular dependencies, working on better solution.