[reafac][feature] changes to the way that io layer processes data

* added the non blocking version of functions