abstract layout