add protocol to Question constructor