Added DataSource class
Of course it is necessary here ...