implimented lazy name change