fixed dependency cycle