dependency cycle fix