Add basic end game, do some logic flow restructuring