added more tests and code to ship class