Grid of GUILayout buttons?

How do I make a inventory style grid of GUILayoutButtons, my code only uses them horizontally, but, i do not use GUILayout.BeginHorizontal; What am I doing wrong, and how do I fix it?

Code:

//Create a Area for the items.
		GUILayout.BeginArea (new Rect(5,100,420,240));
		int num = 0;
		foreach(Item it in InventoryItems){

			if(GUILayout.Button("Item "+ it.ItemName,GUILayout.Width(40),GUILayout.Height(40))){
				Debug.Log("Item id: " + num + " is the new selected item.");
				SelectedItemInt = num;
				SelectedItemItem = it;
			}
			num++;
		}

		GUILayout.EndArea ();

Check out GUI.SelectionGrid, or do Begin and End for each set of buttons.