Initial code commit.

This code was developed in my personal time and is not directly related to my current employer. I chose an MIT license so that my employer can use this code.
I would prefer if any changes made were submitted here as well but this is not necessarily a requirement.