add pre-commit and pre-push hooks