fixed some problems with backtracking, but fixing it broke something else, and now the program gets stuck in an infinte loop if backtracking is enabled, I think the problem is something to do with how the constraint truth values are being set, or with the csp solver itself, although I have not had any problems with the csp solver so far, so that seems unlikely, but that is the only part of the program that can infinitely loop, so who knows