refactor difficulty