fix generic rotation and 90 degrees & multiples rotation, take #2
fix conflict