abstract block structures