main design and question class