working examples (blocking, non-blocking)