provide rotation in degrees; add scaling support