Initial Commit

This is my initial commit. Minimal testing and will need to be
re-factored a bit.