implemented a decorator
impl flyweight