several optimizations of rotation failed :o((