redone the structure. cycle working