added basic RPC framework