fixed Specs, separated Shape/ShapeElement, added Rectangle, Ellipse, Circle