initial pass on the ship def