some work, need to figure out AES decryption and encryption