a rpc lib for common use