generalizes questionnaire function