             changes : true
             cb : opts.cb
 
-    syncquery: (query) =>
-        keys = misc.keys(query)
-        if keys.length != 1
-            throw "must specify exactly one table"
-        table = keys[0]
-        x = {}
-        if not misc.is_array(query[table])
-            x[table] = [query[table]]
-        else
-            x[table] = query[table]
-        return new SyncQuery(query:query, client:@)
-
-    # TODO: deprecate this changefeed thing -- syncquery is good enough?  or REFACTOR
-    # code between syncquery and changefeed
+    syncquery: (opts) =>
+        return new SyncQuery(@changefeed(opts))
+
     changefeed: (opts) =>
         keys = misc.keys(opts)
         if keys.length != 1

        @_primary_key = rethink_shared.SCHEMA[@table]?.primary_key
        if not @_primary_key
            @_primary_key = "id"

        @on 'change', (change) =>
            if not @_value?

        delete @_value
        @opts.client._query
            query   : @opts.query
            changes : true
            cb      : (err, resp) =>
                if @_closed
                    return
