add directory generation; generalize repo for any type of data generation