add MultipleShiftAdd and common trait