added rotations, translations and scaling