Use pragma once to prevent multiple inclusions