begin factoring out file load from ProcessFile()