it now compiles on mac with clang