implement questionnaire function