refactor genHare