new scheduler (incomplete)