further work on client