http://www.matthewgood.org/2010/counterpoint/