use refcounted buffer slist
few fixes to rpc::channel