add set, decorator, iterator