abstract structure