why do we need `gitHead`?