setting up client interaction