Input files can be stored in multiple different directories. Input files can be stored in sub-directories. Drops the concept of one master requirement. Adds (optional) logging of current actions / events. Adds a cache for reading objects from the version control system (for speedup). A completely rewritten interface to the version control system.