implement AAB