WIP: works but bad results
WIP: correct implementation by gradually rotations, works but bad results