updated Marshaller to handle threading and multiple serializers