add idea and aes. not complete