Fix for issue #11, added C++ guards