add flyweight pattern