ABlock first implementation