Implement most of AElem