public function setStrainerSelect($options = [], $callable = null, $attr = [])
    {

        // if callable is a string , it's a field
        if (is_string($callable) || $callable instanceof Expression) {
            $field = $callable;
            $callable = null;
        }

        // create the strainer
        $strainer = new Select($this, $options, $callable, $attr);


        //if a fields is set, we configure the strainer
        if (isset($field)) {
            $strainer->setField($field);
        }

        return $this->setStrainer($strainer);
    }