Protocol updates. Refactoring