port over timer and workqueue from mako