explain scheduler