finished sicp section 1.1