aes supporting, and using callback io
cleanup, only keep callback io methods
curl cleanup