Refactored code significantly to combine game modes