removed some cpp11 features to support old compilers