some exercises from pro git