use struct for question