Further development and adjustments
Added AbstractDataDriver