refractored the directory structure