https://www.csc2.ncsu.edu/faculty/healey/download/cg.14.pdf