compiles with clang 3.3