collapsed directory structure, added unit tests