diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -2,7 +2,6 @@
 var pullWeird = require('./pull-weird')
 var PacketStream = require('packet-stream')
 var EventEmitter = require('events').EventEmitter
-var PullSerializer = require('pull-serializer')
 
 function isFunction (f) {
   return 'function' === typeof f
@@ -92,10 +91,7 @@ module.exports = function (remoteApi, localApi, serializer) {
 
 
     emitter.createStream = function () {
-      var pullPs = pullWeird(ps)
-      if (serializer)
-        pullPs = PullSerializer(pullPs, serializer)
-      return pullPs
+      return (serializer) ? serializer(pullWeird(ps)) : pullWeird(ps)
     }
 
     return emitter
diff --git a/test/jsonb.js b/test/jsonb.js
index <HASH>..<HASH> 100644
--- a/test/jsonb.js
+++ b/test/jsonb.js
@@ -1,2 +1,4 @@
+var PullSerializer = require('pull-serializer')
+
 // run tests with jsonb serialization
-require('./async')(require('json-buffer'))
\ No newline at end of file
+require('./async')(function(stream) { return PullSerializer(stream, require('json-buffer')) })
\ No newline at end of file
generalized to allow non-line-delimited serializers