finish lec 21 lazy evaluation part 1
finish lec 21 lazy evaluation part 2