- use "#pragma once" instead of the regular include guard - fix errors and warnings reported by cppcheck