A working game. Need to add error handling