generated at
GoF design pattern