add error callback function