https://cis.temple.edu/~pwang/AGI-Intro.html