shiftadd funcional