more testing, but still randomly fails due to unreliability of gcm and async