http://thisbe.org/cheryl/Patterns.html