recode for multiple protocol to sync