forgot to checkin todo
nit
generalizing scheduler