use Enumerator instead of Applier