Adding the code.

This should build, but it won't run without the expected data, which
I'll be adding later today.
Ignore .old files