first pass at task routing