bsonpipe abstraction beginnings