adde 3 shape classes
added a factory class
added functionality to the main class