added configuration file support