added recursive drawing, selecting and transformations