blocking/nonblocking access is the key.