Simpler implementation of PL