implemented user password restore functionality