completed section 1.2 in Scheme
1.29 in Scheme