#14 added password recovery