factoring out userinput stuff to ship class