separate question types into their own models. Closes #9.