return empty string when no content