https://doi.org/10.1002/cpp.2563