Completed project, works for the most part.

Some format work needed.