Refactored BasicShapes Class and all of its derived classes