starting with updating tests to use both server and client side to mimic operation
request/response abstraction to make transparent function calls happen