improved  file structure