public function getFilters()
    {
        //get the model's filter fields
        $configFilters = $this->config->getOption('filters');

        //make sure that the filters array hasn't been created before and that there are supplied filters in the config
        if (empty($this->filters) && $configFilters) {
            //iterate over the filters and create field objects for them
            foreach ($configFilters as $name => $filter) {
                if ($fieldObject = $this->make($name, $filter)) {
                    //the filters array is indexed on the field name and holds the arrayed values for the filters
                    $this->filters[$fieldObject->getOption('field_name')] = $fieldObject;
                }
            }
        }

        return $this->filters;
    }