list files in directory, optionally by extension
read from a file in Location
write to files in location
ensure file exists before reading it
ensure that files are readable before opening
recursively traverse the directory structure