updated pshot function