refactored ch7, ch8. moved grunt into to appendix_a