Finished coding the functional parts of the project. Only tested using a bare minimum test, but it passed. Needs more rigorous testing and lots and lots of comments.