udpate error handling