implemented MACA (untested)