implement new layout