Going forward, we should try (maybe not always) to insure that these puzzles center around a usefull real-world problem, I mean, this whole excerise was just wonderfull, and to actually have a lite-weight, fast UDF at the end of it - gravy !