final aa implementation