removing circular dependency