add struct for layout