require pp properly