add Flyweight pattern implementation example