makes compatible with clang