backtracking as suggested in [12] to avoid outputting false
