public function resolve() {
        $return = false;
        $match = $this->match();

        if (!$match) {            
            $target = $this->getDefaultRoute();
            if ($target) {
                $match = ['target' => $target];
            }                            
        }


        if (substr(Utils::get('name', $match, ''),0,7) =='plugin:') {
            Application::getInstance()->preparePlugin($match['name']);
        }
        
        
        if (is_array($match) && array_key_exists('target', $match)) {
            
            $target = $match['target'];
            
            $return = ['target'=>$target, 'match'=>$match, 'application' => $this->getApplicationName()];
            
            if (array_key_exists('class', $target)) {
                $return['type'] = 'class';
            } elseif (array_key_exists('controller', $target)) {
                $return['type'] = 'controller';
            } elseif (array_key_exists('view', $target)) {
                $return['type'] = 'view';
            } elseif (array_key_exists('eval', $target)) {
                $return['type'] = 'eval';
            } else { 
                $return = ['success'=>false, 'msg' =>  "Target undefined",'code'=>404, 'info'=> $match];           
            }
        } else {
            $return = ['success'=>false, 'msg' =>  "Target not found",'code'=>404, 'info'=> $match];
        }
        
        return $return;        
    }