improved directory structure and creating space for unit testing