run a single task