new scheduler loop