added cyclo function