finish to implement forwards
make schedule iterable