Refactored ppl for clarity