added flyweight