Change to SingleThreadScheduledExecutor