re-wrote the file listing function completely, now uses a big Table