made Experiment class more general