further work on client interface