at least make the entry-point require the task function