internal layout restructuring