begin generic hidimensional addition