add support for loading substitution parameters from file