remove circular dependencies