Refactoring and addition of ship subclasses