Add ABA function (breaking)

Does not work yet, concept is started though.