more of an oo approach (ship) and start factory pattern