small refactor.  checkpoint before re-organizing backtrack checking