self.class rather than Dataset