refactored to read experiment from xml