Now compiles under clang (WIP)