more work on protocol versioning