restructuring layout components