layout's a bit much to put in main I think, probably better in show?