added some code about blocks and procs