add error functions