framework for shifter