First commit

This version should work, but is poorly documented. When I get a chance
I'll come back and write some documentation on how to use this plugin.