fix cyclic require