Adds proper error and timeout handling