working on nonblocking http