refactor forgotten pwd service