scheduler refactoring, more work to do