rewrote namer to use a generator