implemented a few more PSurface methods