improve and refactor scheduling logic.

Created by  jesse <nicoty@tuta.io>  on April 20, 2020
4ACCU75NFJ4ZD5CMHBBYCFLBWL2XQH4RS65FTR4JDJPBHTABYJZAC
Change contents