add error checking code