refactoring downloader
reorganized modules