improved file structure