Changed software architecture for shapes

API is now easier to use.