added ArrayExtensions