visitor: tag constructor