password recovery is almost working. The hard part is done