Revert "Revert "Improved rotation. Added supports for new blocks.""

This reverts commit 5e76cf0be83d007bfd80af427a28c0a6783d2a87.