     # XXX: how much of this could be split out so it's not re-defined every time render is called?
     feed.headers (headers) =>
       if options.showAdvancedSearch and options.advancedSearchEnabled
-        currentFilters = @advancedSearch() or [[]]
+        currentFilters = @advancedSearch() or []
         @_.advancedSearchView.apply currentFilters.filter((x) -> x.length).map (filterGroup) ->
           filterGroup.map (filterRow) ->
             hx.merge(filterRow, {

                [leftFilterGroups..., newFilterGroup, rightFilterGroups...]
              else
                [leftFilterGroups..., rightFilterGroups...]
            dataTable.advancedSearch(newFilters)

        @append('div').class('hx-data-table-advanced-search-filter hx-section hx-input-group hx-input-group-full-width')
          .add(termInput)
          .add(columnPickerSel)
          .add(removeBtn)
          .node()


    advancedSearchRowUpdate = ({term, column}, element, index) ->
      filterRowSel = hx.select(element)
        .classed('hx-data-table-advanced-search-invalid', not term)

      filterRowSel.select('.hx-data-table-advanced-search-column').component()
        .value(column or 'any')

      filterRowSel.select('.hx-data-table-advanced-search-input').value(term or '')



    # Render grouped filters
    advancedSearchGroupEnter = (dataTable) ->
      (filterGroup, index, trueIndex) ->
        addFilterToGroup = ->
          prevFilters = dataTable.advancedSearch()
          [leftFilterGroups, filterGroup, rightFilterGroups] = splitArray(prevFilters, trueIndex)
          newFilter = {
            column: 'any',
            term: ''
          }
          dataTable.advancedSearch([leftFilterGroups..., [filterGroup..., newFilter], rightFilterGroups...])

        removeFilterGroup = ->
          prevFilters = dataTable.advancedSearch()
          [leftFilterGroups, filterGroup, rightFilterGroups] = splitArray(prevFilters, trueIndex)
          dataTable.advancedSearch([leftFilterGroups..., rightFilterGroups...])

        filterGroupSel = hx.detached('div').class('hx-data-table-advanced-search-filter-group')
        filterGroupView = filterGroupSel.append('div')
          .view('.hx-data-table-advanced-search-filter')
            .enter(advancedSearchRowEnter(filterGroup, trueIndex, dataTable))
            .update(advancedSearchRowUpdate)
        filterGroupButtons = filterGroupSel.append('div')

        filterGroupButtons.append(hx.button({context: 'positive'})
          .add(hx.icon({class: 'hx-icon hx-icon-plus'}))
          .add(hx.detached('span').text(resolvedOptions.addFilterText)))
          .on 'click', addFilterToGroup

        filterGroupButtons.append(hx.button({context: 'negative'})
          .add(hx.icon({class: 'hx-icon hx-icon-close'}))
          .add(hx.detached('span').text(resolvedOptions.removeFilterGroupText)))
          .on 'click', removeFilterGroup

        hx.component.register(filterGroupSel.node(), {
          filterGroupView

hx.userFacingText({
  dataTable: {
    addFilter: 'Add Filter',
    advancedSearch: 'Advanced Search',
    and: 'and',
    anyColumn: 'Any column'
