implemented scheduling