https://abpbd.org/dealing-with-expectations/