Refactored Shape, added Sample Code