use QPC function