extended jsonrpc instead of reimplementing