refactored ShipGeometry