add rotation by keypress, partially fix improper rotations, redo addRotation function