http://www.math.dartmouth.edu/~doyle/docs/self/self.pdf