use random iv, add timeout