split publisher header into interface file