fixed rotate; need to add threading