make slightly dynamic but break DRY
restore layout