FIX: use ob_end_clean() to avoid duplicate output