Restructuring; no functionality changes