additional changes and tests for ship class