function hasAuthenticated()
    {
        try {
            // if identifier cant detect identity and identity not set manually-
            // it will rise exception
            if (! $this->identifier()->withIdentity()->isFulfilled() )
                return false;
        } catch (exLoadUserFailed $e) {
            // User not found any more !!
            // clear from identity storage (session/cookie)
            $this->identifier()->signOut();
        } catch (exNotAuthenticated $e) {
            return false;
        }
            
        return $this->identifier();
    }