add tag support to New()