File already available in add_file block, no need to pass it around
refactor more data into Location, call it Datum