Merge branch 'base_file'

Just so #2 and #3 can use the same protocols