aes class rework