improve file struct