connection error handling appears to be good