move things about, and implement an aes ciphersuite