add error message handling