For the PMs, i have a suggestion. If a member wants to send a PM to another member, the very first time, the member has to send a PM request (similar to friend request), if the other member accepts the pm request then only the sender can send a PM with a message to the recipient. The recipient can decline the request or ignore it. If the recipient ignores and does not decline the request, the sender can't send another request. if the recipient declines the request, then the sender can send a pm request again. This way inappropriate messages can be sent.