         params
 
     addNewClause: ->
-        @clauses.add({ field: @initial_field, operator: 'like' })
+        @clauses.add({ available_fields: @fields, field: @initialField })


    session:
        value     : { type: 'string', default: '' }
        operators : 'collection'
        field     : 'model'
        operator  : 'model'

    derived:
        description:

    session:
        fields:  'collection'
        clauses: 'collection'
        modelClass:  'function'
        initialField: 'state'

    derived:
        collection_class:
            deps:['modelClass'], fn: -> @modelClass?.Collection
        url:
            deps:['modelClass'], fn: -> @modelClass?::urlRoot()

    constructor: (options={})->
        super
        @fields = new AvailableFields(
            _.map( options.fields, (col)-> if _.isObject(col) then col else { id: col } ),
            query: this
        )
        @clauses = new Clauses([], query: this )
        this.listenTo(@clauses,'change remove reset', ->
            this.trigger('change', arguments...)
        )
        @initialField = @fields.first()
        this.addNewClause()
        this

