restructor the layout