Add timeout and return error