finish basic game implementation