use "" for no name buffer