more manageable structre