abstract article layout functions