better layout structure