big refactor, verify forgot method