more validation as well as allowing for optional file modification if not defined it'll ignore