Doesn't seem like we set done to True anywhere (just break out when finished). Replace with while True?