updated docs and exception message
avoid extra lookups for async requests
rename req var to json_req
use logger instead of puts