add error handling wrapper