Properly split scheduler implementation