Reimplement 'p'