refactor questions into multiple models