Added flyweight ( not sure that it's correct!!! )