redo file struct