further work on protocol