/**
     * This is the default 'index' action that is invoked
     * when an action is not explicitly requested by users.
     */
    public function actionIndex()
    {

        $i = 0;
        //check last category segment
        while (isset($_GET['cat' . ++$i])) {}

        $alias = isset($_GET['cat' . --$i]) ? $_GET['cat' . $i] : 'index';

        //find category by alias
        $this->category = Category::model()->published()->findByAttributes(array('alias' => $alias));

        if ($this->category == NULL) {
            //if $alias is no category alias, may be it's model alias and $prev_alias it's category alias
            $prev_alias = isset($_GET['cat' . --$i]) ? $_GET['cat' . $i] : false;

            if ($prev_alias == false)
                $this->redirect('/errors/not_found');
            
            $this->category = Category::model()->published()->findByAttributes(array('alias' => $prev_alias));

            if ($this->category == NULL)
                $this->redirect('/errors/not_found');

            $_GET['alias'] = $alias;
        }

        $this->model = ModelFactory::getModel($this->category);

        if ($this->model == NULL)
            $this->redirect('/errors/not_found');

        //see parent render function
        $this->render('index');

        //simple speed demonstration :-)
        echo Y::stats();
    }