Source: https://scholar.princeton.edu/sites/default/files/yuxie/files/xie-jin2015.pdf