Finished. Ready for testing

Completed all functionality. Performed some unit tests, but all tables
should be checked on last time to make sure that the units match up and
that everything displays properly.