Writing up the workcycle method. I don't think it works :D