First update

refactored to reduce size of runGame function.  Took components from
this function and split out into their own functions.