attempting to product nonblocking implementation