Split new protocol to new files => reduce merge conflicts