This abstract describes the overall framework of our question-answering system designed to answer various types of complex questions. Our framework makes heavy use of natural language processing techniques for the retrieval, ranking, and generation of correct answers. Our approach has been tested on answering arithmetic questions requiring logical reasoning as well as higher-order factoid questions aggregating information across different documents.