handle better transport layer errors