Revert "remove protocol declaration"

This reverts commit 813b6990d1941abf0b8c812a684d60592b0262c3.