Finished writing tests.  Still needs work.