resolved some ciruclar dependencies