refactored direcotry structure