move scheduler config to a separate named tuple
pass scheduler config object instead of a lot of arguments