more about git internals