added aes based encryption