file allocation methods