reorganized file struct