simple rpc class; all deatils hidden elsewhere