fix bug of circlar dependencies