use run.later instead of setInterval