www.cs.unca.edu/~manns/retropatterns.html