removes circular dependency