better protocol tests