use new helper read.atomic
breaking change: only the last component of a multi-part extension (e.g., .csv.gz) is used for building the dataformat subclass

YAGNI