added source driver structure