improved API consistency, and enhanced pset()