def METHOD_NAME(self, _question):
    if _question.strip() == '':
        # you kidding
        return None
    MarieMessage('\n\n ============================\n '
                 'Processing Question \n {} \n '
                 '=============================== \n'.format(_question))
    # Identify the topics
    topics = self.identify_topic(_question)
    topics = ['agent'] + topics
    for topic in topics:
        rst = self.topic_function_map[topic](_question)
        if rst is None:
            pass
        else:
            try:
                rst = json.loads(rst)
            except:
                rst = rst
            MarieMessage('\n ================================================  '
                         'End of question, with answer from {} '
                         '=================================================\n\n'.format(topic))
            return rst
    MarieError('============================  End of question, no answer =============================\n\n {}'
               .format(_question))
    return None