added comments to engine, is_valid_move and successors to game_state