settling on "path" for dataset name, added several more abstractions