Done

Works as far a project specifications go. Will add more comments and
clean up a bit; otherwise finished.