         ##
         boot: (done)->
             
-            @_registry = new (floyd.tools.objects.resolve @data.registry.type) @data.registry
+            @_registry = new (floyd.tools.objects.resolve @data.registry.type) @data.registry, @
             
             super done
         

                        delete data.pass
                            
                        fn null, sess.public.user = data
                        
                else
                    fn()
                    

            if (sess = @_registry.get sid)
                
                #console.log 'found session', sess, sess.public.user?.login

                ## initialize destroy hook on the fly
                if !sess.destroyHook
                    sess.on 'destroy', ()=>
                        sess.destroyHook new Error 'session destroyed'
                
                ## register the current callback as the destroy hook
                sess.destroyHook = fn
                        
                ## authorize loggedin session
                if user = sess.public.user?.login
                       
                    @parent.children.users.get user, (err, data)=>
                        return fn(err) if err
                        
