Source: https://authors.library.caltech.edu/25034/4/BPOCchapter3.pdf