recursively find all files in a directory