Feature/protocol cleanup