implement better layout