Tested with Clang
tested with OCLint