protocol shift