Question answering systems can benefit from the incorporation of a broad range of technologies, including natural language processing, machine learning, information retrieval, knowledge representation, and automated reasoning. We have designed an architecture that identifies the essential roles of components in a question answering system. This architecture greatly facilitates experimentation by enabling comparisons between different choices for filling the component roles, and also provides a framework for exploring hybridization of techniques -- that is, combining different approaches to question answering. We present results from an initial experiment that illustrate substantial performance improvement by combining statistical and linguistic approaches to question answering. We also present preliminary and encouraging results involving the incorporation of a large knowledge base.