fix some problems with the kernelization/projection step, including one that made it actually wrong :|