allowing more settings to be passed in