public function query($query, $statements = null, $result = 'obj')
    {
        $this->settings['type'] = trim(explode(' ', $query)[0]);

        $this->query = $query;

        $this->settings['result'] = $result;
        $this->settings['statements'] = $statements;

        $types = '|SELECT|INSERT|UPDATE|DELETE|CREATE|TRUNCATE|DROP|';

        if (! strpos($types, $this->settings['type'])) {
            throw new DBException(
                'Unknown query type:' . $this->settings['type']
            );
        }

        $this->implement();

        return $this->getResponse();
    }