add data source class and serial data source