add challenge opponent function, reload, and fix finish game