it is done. it's not pretty, and it's cheating with unsafeUnFL/RL, but it does
what it is supposed to do on our test cases. if you reject it please be nice
about it. i know unsafeUnFL/RL should be eliminated, but my brain is not
working any more, and i need to be told that we've done something useful today. :-)