add alternative serialization support. remove bson dependency