almost done implementing new layout