fix circual depend bug