public function run() {
        if (!Config::config()['user']['debug']['maintenance']) {
            if ($this->_route == false) {
                $this->response->status(404);
                $this->addError('routing failed : http://' . $this->request->env('HTTP_HOST') . $this->request->env('REQUEST_URI'), __FILE__, __LINE__, ERROR_WARNING);
            }
            else {
                $this->_controller();
            }

            $this->response->run();
            $this->addErrorHr(LOG_ERROR);
            $this->addErrorHr(LOG_SYSTEM);
            $this->_setHistory('');

            if (Config::config()['user']['output']['minify'] && preg_match('#text/html#isU', $this->response->contentType())) {
                $this->response->page($this->_minifyHtml($this->response->page()));
            }

            if (Config::config()['user']['debug']['environment'] == 'development' && Config::config()['user']['debug']['profiler']) {
                $this->profiler->profiler($this->request, $this->response);
            }
        }
        else {
            $this->response->page($this->maintenance());
        }

        echo $this->response->page();
    }