moved Ship.Read(string) into constructor