Now doesn't require C++0x or later