fixed dependency loop