implemented csv modality