learning addshasles function