adding rpcz code which should be broken into submodule at some point