blocks and yield example