change to use queues for tasks
wip