question refactor