working version for Mac OS under LLVM