port on/off sync to separate methods