extract function
git functions