demonstrating blocking vs non-blocking