Add bench function
Add missing result
Add support for nonblocking calls