compiles on macx-clang