         @opts.fields = @opts.fields.concat fields 
       else
         @opts.fields = fields
-        @trigger 'data', @preparedData() 
+        @trigger 'data', @childData() 
     else
       @opts.fields.push fields
     if triggerEvent
       @trigger 'add-fields', fields
       if not _.isEmpty(@opts.data) and ((not _.isEmpty(fields)) or _.isObject(fields))
-        @trigger 'data', @preparedData() 
+        @trigger 'data', @childData() 
     @
 
   settings: (settings, triggerEvent=true) =>

      delete @opts.parentTool
    @

  childData: ->
    @preparedData()

  preparedData: =>
    data = @_mAddFields(@_mFilter(@opts.data, @opts.filters), @opts.fields).value()
    @keys @_dataKeys(data[0])
    data


    keys.push key for key, value of datum when not(key in @nonDisplayKeys)
    keys

window.Ubret.BaseTool = BaseTool