added '#pragma once'