Complete Redo -- Update 3