         distinct: (field, query, fn)->
             @_client.distinct field, query, fn
 
-        find: (query, options, fields, fn)->			
-            query ?= {}
-            
+        find: (query, options, fields, fn)->	
+    
+            #console.log 'query', query, options, fields
             q = @_client.find(query)
             q.count (err, size)=>
-                
+                return fn(err) if err
+                #console.log 'size', size
                 options ?= {}		
                 
                 options.skip = options.offset

            
            fn()
                

        get: (key, fn)->
            @_client.findOne _id:key, fn


                options.size = size
                
                q.toArray (err, items)=>				
                    return fn(err) if err
                    process.nextTick ()=>
                        fn null, @_filterFields(items, fields), options, fields
                        