add TODO: more specific typing on queue.