         ##
         ##
         _permitAccess: (identity, key, args, fn)->
-            super identity, key, args, (err)=>
+            super identity, key, args, (err, permitted)=>
+                return fn(err) if err
                 
                 checks = [
+                    (next)=>
+                        next permitted
+                        
+                ,
                     (next)=>
                         if @permissions?.__checks
                             for check in @permissions.__checks

                                
                        else next true
                
                ,
                
                    (next)=> # custom check function - must callback true to permit!
                        if typeof (check = @permissions) is 'function' || typeof (check = @permissions?[key]) is 'function' || check = (@permissions?[key]?.check || @permissions?.check)
                            
                            check identity, key, args, next                            
                            
                        else next true
                    
                ]
                
                permit = (ok)=>

                        next (@permissions?[key] || @permissions) isnt false
                        
                ,
                
                    (next)=> # custom check function - must callback true to permit!
                        if typeof (check = @permissions) is 'function' || typeof (check = @permissions?[key]) is 'function' || check = (@permissions?[key]?.check || @permissions?.check)
                            
                            check identity, key, args, next                            
                            
                        else next true
                    
                ,

                    (next)=> # check for identity.id restriction
                        
                        if id = (@permissions?[key]?.identity || @permissions?.identity)
                            next identity.id is id
                        
                        else next true
                ,

                    (next)=> # check for token restriction
                        
                        if token = (@permissions?[key]?.token || @permissions?.token)
                            
                            identity.token (err, _token)=>
                                next token is _token
                        
                        else next true
                ,

                    (next)=> # check for login restriction
                        
