add error function