hint refactor