update readme, added unit tests, and added files to the proper directories