more circular dependencies