modifying `read` to accept callback
making tcpserver workable