def METHOD_NAME(self, datafile=None, respfile=None):
    if ((datafile is None) and (respfile is None)):
        print "Please provide data and/or response file"
    # check data type compatible with provided input files
    self._check_data_type(datafile, respfile)
    # determine whether to automatically choose data type
    if self.data_type is None:
        find_datatype=True
    else:
        find_datatype=False
    # read files
    if datafile is not None:
        mdObj=mtmn.Data()
        mdObj.read_data_file(datafile)
        if self.workdir is None:
            self.workdir=op.dirname(datafile)
        if find_datatype:
            self.data_type='data'
        self.period=mdObj.period_list
    if respfile is not None:
        mrObj=mtmn.Data()
        mrObj.read_data_file(respfile)
        if self.workdir is None:
            self.workdir=op.dirname(respfile)
        if find_datatype:
            if self.data_type == 'data':
                self.data_type='residual'
            else:
                self.data_type='response'
        self.period=mrObj.period_list
    # get period index and period for plotting
    self.get_plot_period_index()
    # get mt_dict containing data, responses, or residual depending on
    # data_type
    if self.data_type == 'data':
        self.mt_dict=mdObj.mt_dict
    elif self.data_type == 'response':
        self.mt_dict=mrObj.mt_dict
    elif self.data_type == 'residual':
        self.mt_dict={}
        for key in mdObj.mt_dict.keys():
            self.mt_dict[key]=mtpt.ResidualPhaseTensor(pt_object1=mdObj.mt_dict[key], pt_object2=mrObj.mt_dict[key])