add operations for arrays