use shared_ptr for connect event handle
add todos
try to get multiple concurrent clients working