replaced ifdef guards with pragma once