AES fully functional, and commented