added <stdexcept> include for clang