now it compiles with clang