implementing file History towards #2