exchange type with router