use pq to store context
add context