Added recurive scheduler