refactoring ship class