added password recovery functionality