allow configuration via a config file or json