fixed up rotate and subtract