Almost complete. Just cleaning up some formatting and source code.