First Commit Based on Stemkoski's Work

I will study, then branch/extend the work of the great Stemkoski.