Improve your disc file system so that file size is only limited by disc size. Do not assume that discs will always be as small as they have to be under our virtual machine. Your implementation must be able to work for any disc size for which a block number will fit into a 32 bit int (4,294,967,296 blocks so total 2 TB). Clearly you won't be able to run tests at such sizes, so reasonable errors at scale will not be penalised. You must use a dynamically changeable multi-level index format as explored in class (class 6 mostly but there was some spread). You decide on what the meta-data should be. Minimally it must include exact file data size in bytes, and times and dates of last modification and original creation, but think of a few potetntially useful extras to add. If the file's data is small enough to fit inthe header block, it must do so (i.e. level 0 must be implemented). Level 0 should be a trivial change to your original single block system. If you are sensible you will make that first and test it well, then move on to a strictly 0 or 1 level system. With a one level index structure working properly, moving on to multiple levels will not be very difficult. Doing everything at once will be. A file's structure must always have the minimum number of levels required for its size. You do not have to manage any kind of free block list at this stage. It must be possible to delete files, but their blocks may remain permanently inaccessible. That comes next.