public function join($table, $one, $two, $type = 'INNER')
    {
        if ( ! in_array($type, ['INNER', 'LEFT', 'RIGHT'])) {
            throw new \InvalidArgumentException("Error join mode");
        }
        // set table prefix
        $table = $this->_wrapTable($table);
        // create join string
        $this->_join_str .= ' '.$type.' JOIN '.self::_wrapRow($table).
            ' ON '.self::_wrapRow($one).' = '.self::_wrapRow($two);
        return $this;
    }