fixed non-blocking receiver