modified file struct