updated PS_free()