scheduler part1, draft1