p*rn logic