complete empty function