finished chapter 2 sicp