Tag generator
many great changes