flyweight instead of specifying an id