use `#ifndef` instead of `#pragma once`