generalizing pq