added shifter.h