build client interface