refactor to avoid TimeoutException