add basic infrastructure to control client