Added unit tests and restructured folders.