Initial commit. This work was all done on my own time