move around some scheduling logic