first pass of client