overhaul on layout