Refactoring + getting rid of the 'cycle' concept