added string format and empty function