common design pattern implementation.