Kali Linux Post Installation Steps 2026 — 15 Things You Must Do After Installing Kali

Kali Linux Post Installation Steps 2026 — 15 Things You Must Do After Installing Kali
Kali Linux post installation steps 2026 — this is the guide that separates the people who install Kali and wonder why things feel broken from the people who have a genuinely fast, properly configured, professional environment within 30 minutes. A fresh Kali install works. But it is missing updates, missing critical tools, has a broken clipboard in VirtualBox, has no tmux configuration, and still uses the default kali/kali password. Every single one of those issues costs you time and frustration in real testing sessions. Today you fix all of them, in order, once.

🎯 What You’ll Configure in This Guide

Update Kali to the latest rolling release packages and kernel
Fix VirtualBox screen resolution, clipboard and shared folders
Configure zsh, oh-my-zsh, and tmux for professional terminal workflow
Install 10 essential tools not included in the default Kali image
Set up Git, API keys and a professional tool directory structure

⏱️ 48 min read · 3 exercises · full setup complete by end

📊 Where are you with your Kali setup?




✅ This guide works step by step from a completely fresh install. If you have already completed some steps, each section is independent — jump straight to what you are missing. The later sections on tmux and API key configuration are the ones most experienced users skip and later regret.

This guide complements the 180-Day Kali Linux Mastery Course — it is the setup layer that every course day assumes is already in place. If you are also running DVWA and Metasploitable for practice, the complete hacking lab setup guide covers the full virtual network configuration. These 15 steps take 30–45 minutes on a fast connection and save you hours of frustration across every subsequent session.


Steps 1–2: System Update, Full Upgrade and Repository Configuration

Kali is a rolling release distribution — the ISO you downloaded may already be 2–6 months behind the current package versions. Running a full upgrade immediately after installation ensures you have the latest tool versions, security patches, and kernel updates. This is non-negotiable and takes priority over everything else.

STEP 1 — FULL SYSTEM UPDATE AND UPGRADE
# Step 1: Update package lists and full-upgrade all packages
sudo apt update && sudo apt full-upgrade -y
# full-upgrade (not just upgrade) handles dependency changes
# This may take 10–30 minutes on first run
# Remove unused packages after upgrade
sudo apt autoremove -y && sudo apt autoclean
# Reboot to apply kernel updates
sudo reboot

STEP 2 — VERIFY AND CONFIGURE REPOSITORIES
# Verify Kali repositories are correctly configured
cat /etc/apt/sources.list
deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware
# If missing or incorrect, set the correct sources:
echo “deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware” | sudo tee /etc/apt/sources.list
# Check current Kali version
cat /etc/os-release
PRETTY_NAME=”Kali GNU/Linux Rolling”
# Check kernel version
uname -r
6.x.x-kali-amd64

💡 Use full-upgrade, not upgrade: The difference matters on a rolling release. apt upgrade will not install or remove packages to resolve dependency conflicts. apt full-upgrade does — which is essential for Kali’s continuously updated security tool packages. Always use full-upgrade on Kali.

Steps 3–4: Change Default Credentials and Create a Non-Root User

The default Kali credentials (kali/kali) are publicly known and documented. Changing your password is essential whether you are running Kali on bare metal, in a VM, or on a cloud instance. More importantly, modern Kali strongly recommends working as a non-root user and using sudo only when needed — not running an entire session as root.

STEP 3 — CHANGE PASSWORD AND CREATE NON-ROOT USER
# Step 3a: Change the kali user password
passwd
New password: [enter strong password]
Retype new password: [confirm]
# Step 3b: Optionally create a second non-root user
sudo adduser mrleader
sudo usermod -aG sudo mrleader
# Step 4: Configure sudo without password prompt (optional — convenience)
sudo visudo
# Add at the bottom (replace kali with your username):
kali ALL=(ALL) NOPASSWD: ALL
# WARNING: Only do this on a local lab VM, never on a production system
# Verify sudo access
sudo whoami
root

securityelites.com
Kali Linux Post-Install Checklist — Steps 1–8 Visual Overview
1. sudo apt update && full-upgrade

2. Verify repositories + check kernel version

3. Change default kali/kali password

4. Create non-root user with sudo access

5. Install VirtualBox Guest Additions

6. Enable clipboard sharing + shared folders

7. Install zsh + oh-my-zsh + configure .zshrc

8. Install and configure tmux

📸 Kali Linux post-installation checklist — steps 1–8 of 15. Steps marked ✅ should be completed first; ⏳ steps build on them in sequence.


Steps 5–6: VirtualBox Guest Additions, Screen Resolution and Clipboard

If you are running Kali in VirtualBox (the most common setup for beginners), the single most annoying missing configuration is VirtualBox Guest Additions. Without them: your screen is stuck at a fixed small resolution, clipboard sharing between VM and host does not work, shared folders are not available, and mouse integration is clunky. Installing Guest Additions takes four minutes and fixes all of these simultaneously.

STEP 5 — VIRTUALBOX GUEST ADDITIONS INSTALL
# Install VirtualBox Guest Additions via apt (easiest method)
sudo apt update && sudo apt install -y virtualbox-guest-x11
# Reboot for the additions to take effect
sudo reboot
# After reboot — test auto-resize: VirtualBox View → Auto-resize Guest Display
# If screen still small, set resolution manually:
xrandr –output Virtual-1 –mode 1920×1080
# To make it persistent — add to ~/.xsessionrc:
echo “xrandr –output Virtual-1 –mode 1920×1080” >> ~/.xsessionrc
# For VMware users (alternative to VirtualBox):
sudo apt install -y open-vm-tools open-vm-tools-desktop
sudo reboot

STEP 6 — ENABLE CLIPBOARD AND SHARED FOLDERS
# Clipboard sharing — configure in VirtualBox BEFORE booting VM:
# VM Settings → General → Advanced → Shared Clipboard → Bidirectional
# Drag’n’Drop → Bidirectional
# Shared folders — add from VM Settings → Shared Folders → Add new
# After Guest Additions install, mount shared folder in Kali:
sudo mkdir /mnt/shared
sudo mount -t vboxsf SharedFolderName /mnt/shared
# Auto-mount on boot — add to /etc/fstab:
echo “SharedFolderName /mnt/shared vboxsf defaults,uid=1000,gid=1000 0 0” | sudo tee -a /etc/fstab
# Add your user to the vboxsf group for access without sudo:
sudo usermod -aG vboxsf $USER

🛠️ EXERCISE 1 — BROWSER (8 MIN · NO INSTALL)
Verify Your Kali Version and Check What Tools Need Updating

⏱️ Time: 8 minutes · Browser and your Kali terminal

Step 1: In your Kali terminal, run:
cat /etc/os-release | grep VERSION
uname -r
Record: current Kali release and kernel version

Step 2: Go to kali.org/blog/ in your browser
Find the most recent Kali release announcement
Compare it to your installed version

Step 3: In your Kali terminal, check what packages need upgrading:
apt list –upgradable 2>/dev/null | wc -l
Record: how many packages are pending upgrade

Step 4: Go to kali.org/tools/ and browse the tool categories
Find 3 tools in your interest area that you have never used
Check if they are installed: which [toolname]

Step 5: Check your Python version and pip:
python3 –version
pip3 –version
go version

Step 6: List the size of your Kali tools directory:
du -sh /usr/share/
Note how much disk space the current tools use

✅ What you just learned: A quick audit of your current Kali state — version, kernel, pending updates, and installed tool inventory — takes less than 5 minutes and tells you exactly what your post-install checklist needs to address. If apt list –upgradable returns more than 50 packages, you need to run the full-upgrade step before anything else. If Python or Go are missing, tool installations will fail. The size of /usr/share gives you a baseline for tracking how much your toolkit grows as you work through the courses.

📸 Screenshot your version audit output and share in #kali-setup on Discord.


Steps 7–8: Zsh, Oh-My-Zsh, Tmux and Terminal Productivity

The default Kali terminal works. But a properly configured zsh with oh-my-zsh, sensible aliases, and tmux for session management will genuinely make you more productive in every single testing session. These are not cosmetic changes — autocompletion for tool flags, persistent terminal sessions that survive disconnections, and split-pane layouts for running multiple tools simultaneously are functional improvements that experienced testers consider essential.

STEP 7 — ZSH AND OH-MY-ZSH SETUP
# Kali uses zsh by default since 2020 — verify:
echo $SHELL
/usr/bin/zsh
# Install oh-my-zsh (enhances zsh with themes and plugins)
sh -c “$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”
# Install useful plugins: zsh-autosuggestions + zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Edit ~/.zshrc — add plugins:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
# Add useful aliases to ~/.zshrc:
alias update=”sudo apt update && sudo apt full-upgrade -y”
alias ports=”sudo netstat -tulpn”
alias myip=”curl -s ifconfig.me”
alias hosts=”cat /etc/hosts”
# Reload zsh config
source ~/.zshrc

STEP 8 — TMUX INSTALLATION AND CONFIGURATION
# Install tmux
sudo apt install tmux -y
# Create tmux configuration file
cat > ~/.tmux.conf << 'EOF'
# Change prefix from Ctrl+b to Ctrl+a (easier to reach)
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# Split panes with | and –
bind | split-window -h
bind – split-window -v
# Enable mouse support
set -g mouse on
# Set history limit
set -g history-limit 50000
EOF
# Key tmux commands to remember:
# Ctrl+a | = split horizontal
# Ctrl+a – = split vertical
# Ctrl+a arrow = move between panes
# Ctrl+a d = detach (session persists)
# tmux attach = reattach to session


Steps 9–11: Essential Tools Installation — Go, Python and Security Stack

Kali’s default meta-package installs hundreds of tools — but the modern security toolkit has evolved significantly towards Go-based and Python-based tools that are not part of the default image. These 10 tools fill the most important gaps in the default toolkit for bug bounty and penetration testing workflows in 2026.

STEP 9 — INSTALL GO AND PYTHON3-PIP
# Install Go (required for modern security tools)
sudo apt install golang-go -y
# Add Go bin to PATH (add to ~/.zshrc)
echo ‘export GOPATH=$HOME/go’ >> ~/.zshrc
echo ‘export PATH=$PATH:$GOPATH/bin’ >> ~/.zshrc
source ~/.zshrc
# Verify Go installation
go version
go version go1.23.x linux/amd64
# Install Python3-pip
sudo apt install python3-pip python3-venv -y
pip3 –version

STEP 10 — ESSENTIAL SECURITY TOOLS (NOT IN DEFAULT KALI)
# Install via apt
sudo apt install -y feroxbuster seclists evil-winrm bloodhound
# Install via Go
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest
go install github.com/tomnomnom/assetfinder@latest
go install github.com/tomnomnom/httprobe@latest
go install github.com/lc/gau/v2/cmd/gau@latest
# Install via pip
pip install bloodhound –break-system-packages
pip install impacket –break-system-packages
# Update Nuclei templates
nuclei -update-templates
[INF] Successfully downloaded nuclei-templates (latest)

STEP 11 — INSTALL DOCKER AND ESSENTIAL CONTAINERS
# Install Docker (needed for DVWA, BloodHound CE, etc.)
sudo apt install docker.io docker-compose -y
sudo systemctl enable –now docker
# Add your user to docker group (avoids needing sudo for docker)
sudo usermod -aG docker $USER
# Log out and back in, then verify
docker ps
# Pull DVWA (web app testing target)
docker pull vulnerables/web-dvwa
# Run DVWA
docker run -d -p 80:80 –name dvwa vulnerables/web-dvwa
http://127.0.0.1/dvwa/

🧠 EXERCISE 2 — THINK LIKE A HACKER (8 MIN · NO TOOLS)
Audit Your Kali Setup Against a Professional Penetration Tester’s Toolkit

⏱️ Time: 8 minutes · No tools required

A professional penetration tester’s toolkit covers four phases:
Recon, Scanning, Exploitation, and Post-Exploitation.

For each phase below, check: do you have at least one tool
installed and configured for each task?

RECON:
□ Passive subdomain discovery (Subfinder / Amass)
□ Certificate transparency querying (crt.sh / curl)
□ OSINT and link analysis (Maltego)
□ Email/domain intelligence (theHarvester)

SCANNING:
□ Port scanning (Nmap / Rustscan)
□ Web directory bruteforce (Feroxbuster / Gobuster)
□ Vulnerability scanning (Nuclei)
□ Web app scanning (Nikto / ZAP)

EXPLOITATION:
□ Web application testing (Burp Suite)
□ Network exploitation (Metasploit)
□ Password cracking (Hashcat / John)
SQL injection (SQLmap)

POST-EXPLOITATION:
□ AD attack path mapping (BloodHound)
□ Credential dumping (Impacket)
□ Windows remote access (Evil-WinRM)
□ Lateral movement (CrackMapExec)

Count your ✓ out of 16.
Which phase has the most gaps? That is your next install priority.

✅ What you just learned: Thinking about your toolkit in terms of attack phases rather than individual tools reveals gaps that random tool installation misses. Most beginners over-invest in exploitation tools (Metasploit, SQLmap) and under-invest in post-exploitation and AD tools. If your BloodHound, Impacket, and CrackMapExec are not installed and configured, you cannot practice the lateral movement and AD attack chains that constitute 70% of real internal network penetration testing work.

📸 Share your toolkit audit results in #kali-setup on Discord with your phase coverage score.


Steps 12–15: Git Configuration, API Keys, Directory Structure and Wordlists

The final four steps transform a functional Kali install into a professional workflow environment. Git configuration enables you to save custom scripts and tool configurations across sessions. API keys unlock the paid-tier features of free tools. A standard directory structure ensures you never lose recon data between engagements. A local wordlist library ensures tools like Feroxbuster, Gobuster, and Hydra have the right dictionaries available instantly.

STEP 12 — GIT CONFIGURATION
# Configure Git global identity
git config –global user.name “Mr Elite”
git config –global user.email “your@email.com”
git config –global init.defaultBranch main
# Generate SSH key for GitHub (optional but recommended)
ssh-keygen -t ed25519 -C “your@email.com”
cat ~/.ssh/id_ed25519.pub
# Copy the output and add to GitHub Settings → SSH Keys

STEP 13 — API KEY CONFIGURATION FOR TOOLS
# Get free API keys from these services:
https://shodan.io # Shodan — scan internet-connected devices
https://virustotal.com # VirusTotal — file and URL analysis
https://censys.io # Censys — internet-wide scanning data
https://securitytrails.com # SecurityTrails — DNS and domain intel
# Configure Subfinder with API keys
mkdir -p ~/.config/subfinder
cat > ~/.config/subfinder/provider-config.yaml << 'EOF'
shodan:
– YOUR_SHODAN_API_KEY
virustotal:
– YOUR_VIRUSTOTAL_API_KEY
censys:
– YOUR_CENSYS_API_ID:YOUR_CENSYS_SECRET
EOF
# Test — subfinder should now return significantly more results
subfinder -d google.com -silent | wc -l

STEP 14 — PROFESSIONAL DIRECTORY STRUCTURE
# Create a standard directory structure for engagements
mkdir -p ~/tools ~/wordlists ~/ctf ~/lab ~/bugbounty
mkdir -p ~/bugbounty/{recon,scans,exploits,reports}
mkdir -p ~/lab/{dvwa,metasploitable,htb,thm}
# Create per-target recon function in ~/.zshrc
cat >> ~/.zshrc << 'EOF'
recon() {
mkdir -p ~/bugbounty/recon/$1/{subs,ports,web,certs}
echo “[*] Created recon dir for $1”
cd ~/bugbounty/recon/$1
}
EOF
source ~/.zshrc
# Usage: recon target.com
# Creates: ~/bugbounty/recon/target.com/{subs,ports,web,certs}

STEP 15 — WORDLISTS DOWNLOAD AND ORGANISATION
# SecLists is already in Kali — verify:
ls /usr/share/seclists/
# If missing, install it:
sudo apt install seclists -y
# Create symlinks for fast access
ln -s /usr/share/seclists ~/wordlists/seclists
ln -s /usr/share/wordlists ~/wordlists/kali
# Key wordlists to know by heart:
# Directory bruteforce:
ls /usr/share/seclists/Discovery/Web-Content/
# Subdomain brute force:
ls /usr/share/seclists/Discovery/DNS/
# Password lists:
ls /usr/share/wordlists/rockyou.txt*
# If rockyou.txt is gzipped, decompress it:
sudo gzip -d /usr/share/wordlists/rockyou.txt.gz

⚡ EXERCISE 3 — KALI TERMINAL (20 MIN)
Complete All 15 Post-Installation Steps and Verify Each One

⏱️ Time: 20 minutes (after downloads complete) · Kali Linux fresh install

POST-INSTALL VERIFICATION SCRIPT
# Run this verification script after completing all 15 steps
#!/bin/bash
echo “=== KALI POST-INSTALL VERIFICATION ===”
echo “OS: $(cat /etc/os-release | grep PRETTY | cut -d= -f2)”
echo “Kernel: $(uname -r)”
echo “Pending upgrades: $(apt list –upgradable 2>/dev/null | wc -l)”
echo “”
tools=(nmap burpsuite sqlmap metasploit-framework subfinder httpx nuclei gobuster feroxbuster tmux git docker.io bloodhound evil-winrm)
echo “=== TOOL STATUS ===”
for tool in “${tools[@]}”; do
if which $tool &>/dev/null || dpkg -l $tool &>/dev/null 2>&1; then
echo “✅ $tool”
else
echo “❌ $tool — NOT INSTALLED”
fi
done
echo “”
echo “=== DIRECTORIES ===”
for d in ~/tools ~/wordlists ~/bugbounty ~/lab; do
[ -d “$d” ] && echo “✅ $d” || echo “❌ $d missing”
done
echo “”
echo “=== WORDLISTS ===”
ls /usr/share/seclists/ &>/dev/null && echo “✅ SecLists installed” || echo “❌ SecLists missing”
ls /usr/share/wordlists/rockyou.txt &>/dev/null && echo “✅ rockyou.txt” || echo “❌ rockyou.txt missing”

✅ What you just learned: A verification script that checks tool installation, directory structure, and wordlists gives you a repeatable way to validate your Kali setup after any fresh install or migration. Save this script as ~/verify-setup.sh and run it any time you are unsure of your current state. Every item marked ❌ is a step from this guide you have not yet completed. Working from ❌ to ✅ on every item is the entire post-installation checklist in one pass.

📸 Screenshot your verification script output showing all ✅ and share in #kali-setup on Discord. Tag #kalisetup2026

🧠 QUICK CHECK — Kali Post-Installation

You install Kali Linux and immediately try to install a Go-based tool with go install github.com/projectdiscovery/subfinder@latest but the command is not found. What is the most likely cause and fix?



📋 All 15 Steps — Quick Reference Card

sudo apt update && sudo apt full-upgrade -yStep 1 — Full system update (always first)
cat /etc/apt/sources.listStep 2 — Verify Kali rolling repositories
passwdStep 3 — Change default kali/kali password
sudo adduser USERNAME && sudo usermod -aG sudo USERNAMEStep 4 — Create non-root sudo user
sudo apt install virtualbox-guest-x11 -y && sudo rebootStep 5 — VirtualBox Guest Additions + screen fix
VM Settings → General → Advanced → Clipboard → BidirectionalStep 6 — Enable clipboard + shared folders
sh -c “$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”Step 7 — Oh-my-zsh + autosuggestions plugin
sudo apt install tmux -yStep 8 — Tmux terminal multiplexer
sudo apt install golang-go python3-pip -yStep 9 — Go and Python3 prerequisites
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latestStep 10 — Essential Go security tools
sudo apt install docker.io docker-compose -yStep 11 — Docker for DVWA and lab containers
git config –global user.name “Name” && git config –global user.email “email”Step 12 — Git global configuration
mkdir -p ~/.config/subfinder && nano ~/.config/subfinder/provider-config.yamlStep 13 — API keys for Shodan, VirusTotal, Censys
mkdir -p ~/tools ~/wordlists ~/bugbounty ~/labStep 14 — Professional directory structure
sudo apt install seclists -y && sudo gzip -d /usr/share/wordlists/rockyou.txt.gzStep 15 — SecLists + rockyou.txt wordlists

❓ Frequently Asked Questions

What is the first thing to do after installing Kali Linux?
The very first command after any Kali install is sudo apt update && sudo apt full-upgrade -y. Kali is a rolling release — your image may already be months behind current packages. Running without updating means outdated tools with bugs or missing features fixed in recent releases. This step is non-negotiable.
Should I run Kali Linux as root?
Modern Kali (since 2020) creates a non-root user by default and strongly discourages running as root. Work as your non-root user with sudo for elevated commands. Some tools require root — use sudo specifically for those rather than switching to root permanently. Running everything as root amplifies the damage of any mistakes.
How do I fix small screen resolution in Kali Linux VirtualBox?
Install VirtualBox Guest Additions: sudo apt install virtualbox-guest-x11 -y then reboot. After reboot, go to VirtualBox View → Auto-resize Guest Display. If still low resolution, run: xrandr –output Virtual-1 –mode 1920×1080 from the terminal.
How do I enable clipboard sharing between Kali VM and host?
Two steps: install Guest Additions (sudo apt install virtualbox-guest-x11 -y) and enable in VM Settings → General → Advanced → Shared Clipboard → Bidirectional. Reboot the VM after both steps. You can then copy and paste freely between Kali and your host OS.
What tools should I install after setting up Kali Linux?
Most valuable additions to the default toolkit: Subfinder and Httpx (reconnaissance), Nuclei (vulnerability scanning), Feroxbuster (directory bruteforce), Tmux (terminal sessions), Evil-WinRM (Windows access), Impacket (AD attacks), BloodHound-python (AD mapping), and Docker (lab targets like DVWA). These cover the full modern penetration testing and bug bounty workflow.
How do I set up Kali Linux on a Mac with Apple Silicon in 2026?
Use VirtualBox 7.0+ or UTM (free). Download Kali’s official ARM64 image from kali.org/get-kali. Post-installation steps are identical to x86. Docker-based targets (DVWA, WebGoat) run natively. For Metasploitable, use Metasploitable 3 which has better ARM compatibility.
← Related

How to Install Kali Linux 2026

Related →

How to Set Up a Hacking Lab 2026

📚 Further Reading

  • How to Install Kali Linux 2026 — The complete Kali Linux installation guide covering VirtualBox, dual-boot, bare metal, WSL2, and Apple Silicon — the step before this guide.
  • How to Set Up a Hacking Lab 2026 — Builds on this post-installation guide by adding Metasploitable 2, DVWA, and the isolated Host-Only VirtualBox network needed for safe practice.
  • 180-Day Kali Linux Mastery Course — The complete structured Kali Linux learning path from Nmap through advanced exploitation — the curriculum this post-installation setup enables.
  • Kali Linux Metapackages Documentation — Official Kali documentation explaining the different tool metapackages — kali-linux-default, kali-linux-everything, and kali-linux-headless — and when to install each.
  • Oh My Zsh Official Site — The official Oh My Zsh documentation covering the full plugin and theme library, configuration options, and the community-maintained plugin ecosystem.
ME
Mr Elite
Owner, SecurityElites.com
I have installed Kali Linux over 40 times across different machines, VMs, cloud instances, and laptops. The first dozen times I did it properly — one step at a time, getting everything right. The next two dozen times I skipped steps, thinking I knew which ones mattered. I was wrong every single time. The session where I lost two hours because I had not configured tmux and my SSH session to a remote machine dropped mid-exploit — that cured me permanently. The session where I had not configured Subfinder API keys and missed a subdomain that another hunter found on the same programme — that one still bothers me. Every step in this guide exists because I have personally felt the cost of skipping it. Do them all, in order, on every fresh install. It takes 40 minutes. It saves dozens of hours.

Leave a Reply

Your email address will not be published. Required fields are marked *