redesign the file constructure