added data shifter preprocessor