finish TaskQueue
need to come up with a better name...