Nice script, but my only problem with this script is, you can view the persons PM, when a request is taking place.
Tip 1
When a request is taking place, don\'t let the user view the PM in a query until he/she has accepted the request.