added timeout to make GetConnection() wait if max connections reached. all tests check out.