rename shared to protocol