added some error checks.