further restructuring

rotation/scaling still not working