merging recent changes from master to bring in missing move_file method