first pass for tasks