allow passing in opts without serialize and deserialize fns