move protocol to headers