implement trivial client server framework to substitute for doors