Implements shapes, rotation, translation, and zooming