add cycle checker