some fix, rewrite Circle queue