driver added better error checks