added pre-commit hook, tests, and removed extra crap from setup.sh