use self.raw_data by default