Refactored to use data-files as instance variables and allow more object re-use.