Refactored Shapes, added Vector 3 and 4