refactored file and dir structure