adding a lot more RPC code