require pp explicitly