restructured the repo
added tests