adding driver threading