Changing BaseBoat to abstract