ensure complex cases are serialized properly