empty function replaced