added reschedulePeriod usecase, full clean implementation