unit propagation still has a bug, but several other bugs have been fixed