function explore($routeName)
    {
        # Normalize Route Name
        $routeName = trim((string) $routeName, self::SEPARATOR);


        $selfName = $this->getName();

        if (strpos($routeName, $selfName) !== 0)
            return false;

        # route name exists
        if ($selfName === $routeName)
            ## explore match
            return $this;

        # check on nested routers
        /** @var iRouterStack $nr */
        foreach($this->routesAdd as $nr) {
            if ($routeName === $nr->getName())
                return $nr;

            if ( ($nr instanceof iRouterStack) && ($return = $nr->explore($routeName)) )
                return $return;
        }

        return false;
    }