anchor.diff:          		request.userId = 0;
           	}
           	
  -            if(this.handleActualUser()) {
  -                if(this.handleSes()) {
  -                    if(this.renderContent()) {
  -                        return true;
  -                    }
  -                    else {
  -                        application.cms.errorHandler.processNotFound(themeName='icedreaper_light', type="renderContent", detail=request.sesLink);
  -                        abort;
  -                    }
  -                }
  -                else {
  -                    application.cms.errorHandler.processNotFound(themeName='icedreaper_light', type="ses", detail=request.sesLink);
  -                    abort;
  -                }
  -            }
  -            else {
  -                application.cms.errorHandler.processNotFound(themeName='icedreaper_light', type="user", detail=request.userId);
  +            try {
  +                this.handleActualUser();
  +                this.handleSes();
  +                this.renderContent();
  +
  +                return true;
  +            }
  +            catch(any e) {
  +                application.cms.errorHandler.processNotFound(themeName='icedreaper_light', type=e.type, detail=e.detail);
                   abort;
               }
           }
  
positive.code:     }
  
      private boolean function handleLoginOut() {
          if(isDefined("url.login") && ! structIsEmpty(form) && form.username != "") {
              var tmpUserId = application.user.user.login(username=form.username, password=form.password);
              if(tmpUserId != 0) {
                  session.userId = tmpUserId;
                  // TODO: show wrong password page
              }
          }
          if(isDefined("url.logout") && isDefined("session") && structKeyExists(session, 'userId')) {
              if(application.user.user.login(username=form.username, password=form.password)) {
                  session.userId = 0;
                  structClear(session);
              }
              else {
                  application.cms.errorHandler.processNotFound(themeName='icedreaper_light', type="logout", detail="logout");
                  abort;
              }
          }
          return true;
      }
  
      private boolean function handleActualUser() {
  
negative.code:         
          request.navigationInformation = application.cms.navigation.getNavigationInformation(sesLink=request.sesLink, language=request.language);
          if(request.navigationInformation.navigationId == 0) {
              throw(type="Ses not found", detail="handleSes");
          }
          request.actualMenu = application.cms.navigation.getActualNavigation(request.navigationInformation);
          
          if(request.actualMenu.loadNavigation()) {
              return true;
          }
          else {
              throw(type="Navigation load failed", detail="handleSes");
          }
      }
  
      private boolean function renderContent() {
  