implement planner scheduler