add flyweight to dp