Employee scheduling software automates the process of creating and maintaining a schedule. Automating the scheduling of employees increases productivity and allows organizations with hourly workforces to re-allocate resources to non-scheduling activities. Such software will usually track vacation time, sick time, compensation time, and alert when there are conflicts.[1] As scheduling data is accumulated over time, it may be extracted for payroll or to analyze past activity. Although employee scheduling software may or may not make optimization decisions, it does manage and coordinate the tasks.[2][3] Today's employee scheduling software often includes mobile applications. Mobile scheduling further increased scheduling productivity and eliminated inefficient scheduling steps.[2] It may also include functionality including applicant tracking and on-boarding, time and attendance, and automatic limits on overtime.[citation needed] Such functionality can help organizations with issues like employee retention, compliance with labor laws, and other workforce management challenges.