add cycle.cpp