TweetFollow Us on Twitter

Review: Mailsmith 2.1

Volume Number: 20 (2004)
Issue Number: 3
Column Tag: Review

Review: Mailsmith 2.1

by William Porter, Polytrope, LLC

E-mail client for control freaks

Introduction

If I were writing this review for MacHome, or even MacWorld, I'd spend time talking about how smart and user-friendly Mailsmith is. I would go out of my way to claim that it isn't just for power users, programmers, hackers and geeks. This would be true. It's not.

But I am writing this article for MacTech. You are a MacTech reader. I am going to make the not unreasonable assumption that you are a power user, programmer, hacker and/or geek, that you are, in short, a control freak. Bare Bones, developer and publisher of Mailsmith, describes it as an e-mail client written by Mac users for Mac users. I want to describe it more aggressively, as an e-mail client written by control freaks for control freaks. Like you.

I am also going to assume that you are not already using Mailsmith, and that you may need more than just a rundown of what's new in 2.x. Now there is a lot that's new. In fact, in versions 2.0 (released fall 2003) and 2.1 (released January 2004), in addition to hundreds of problem fixes, Bare Bones added hundreds of new features or feature enhancements, including PGP support, considerably enhanced integration with OS X, native support for SpamSieve, greatly improved notification options (even support for the Griffin PowerMate), changes to the default mailbox structure, and much more. If you want all the details, you can get them from Bare Bones' web site. But in this review, I am not going to focus on what's new. I'm going to focus on how you, the power user, can make Mailsmith do your bidding.

Customize!

Let me start by noting that there's a lot you can do to customize the way Mailsmith looks, how it works, and how you interact with it. There are different ways to view mail lists and messages. You can change fonts, font colors, and font sizes for lists, for reading messages, for composing messages, for printing. Window size, text wrap on/off, where your favorite AppleScript editor is located, a slew of options relating to spam, attribution line for text quoted in replies--you can control all these, and more. What I particularly like is the ability to add or edit your own keyboard shortcuts, not just for every command in the menus, but also for palette items such as glossaries, stationery, and scripts. I touch my mouse very little when I'm working in Mailsmith.

Getting and Sending

One option Mailsmith does not give you: IMAP. Bare Bones says that IMAP support is on the list for a future version. But, at the moment, Mailsmith is aimed at the ninety-plus percent of us that don't need IMAP.


Figure 1. The advanced tab in the accounts dialog.

That said, Mailsmith 2.1 gives you a lot of control over your POP and SMTP accounts. You can, of course, have as many different user accounts as you like, each independently configured. Usernames and passwords can be stored in the OS X Keychain. Version 2.x adds a number of valuable new features, including secure (SSL) connections, SMTP authentication, the ability to delete messages from the server after n days, faster uploading and downloading, improved handling of signatures, and more. (See Figure 1.) If you have PGP 8 or higher installed, Mailsmith 2 added the ability to cryptographically sign outgoing messages. The POP Monitor, improved in version 2, lets you view messages directly on the server and get them or delete them.

By default now, Mailsmith 2 uses the OS X Address Book to store e-mail addresses. Integration with the Address Book is so smooth, it's nearly invisible.

HTML and "Enriched Text"

Mailsmith does not display "enriched text," that is, font and simple paragraph formatting that may have been added to a message that was written in a program such as Apple's OS X Mail. If someone sends you an enriched-text message, Mailsmith will display it as plain text.

On the other hand, Mailsmith does support full-blown, properly formed HTML messages. To be sure, it does not encourage HTML e-mail. If your mail consists largely of spam, or if the majority of your correspondence is with people who can't express themselves adequately in a single font, well, Mailsmith might not be the best choice for you. But if all you need to do is view the occasional stray piece of non-spam HTML mail, Mailsmith can do it fine. First, it does a great job of extracting the non-HTML content from messages and displaying this in the message window. This lets you see what the message is about without actually having to see what the message is about, if you get my drift. And if you decide you need to see the message in all its decorated splendor, you simply click a button, and Mailsmith passes the message to your default web browser. Mailsmith 2.1 integrates beautifully with Safari in OS X v10.3 (Panther).

I can't help noticing that BBEdit 7.1 now offers HTML preview right inside the app. Is something like this in Mailsmith's future? I do not have any inside knowledge, but I doubt it. It's not hard to switch to a real browser, and you would need to do this anyway if the HTML message being rendered contains clickable links to other web pages. And in any case, Mailsmith was obviously designed by and for people who believe that e-mail should be plain text.

HTML aside, Mailsmith displays photos and even movies fine, not inline, but right in the program, via integration with QuickTime.

Text Editing Heaven

I remember that, when I first saw Mailsmith version 1.0, I thought it was little more than BBEdit with POP and SMTP support tacked on. Even then, that was both unfair, and unobservant. But ironically, while I have come to appreciate how deep Mailsmith's feature set truly is, I've also decided that Mailsmith's text-handling tools are among its very strongest features. This is an e-mail client for users who write a lot.


Figure 2. Mailsmith's Text menu, showing the array of text-editing options. Look familiar? It's identical to BBEdit's Text menu.

When I have to use another mail client, whether it's Apple's OS X Mail, or Eudora, the web mail app on .Mac or something else, the thing I miss the most about Mailsmith is the rich set of compositional options it provides. Heck, I miss these tools even when I'm working in my favorite word processor, Mellel. In addition to the options shown in Figure 2, Mailsmith provides multiple clipboards, unlimited undos (and redos), commands that let you insert a list of a folder's contents, or a file path. Mailsmith makes it easy to define, and use stationery in your correspondence, ditto for signatures.

Best of all, Mailsmith gives you the same powerful glossary feature that BBEdit has. For starters, the glossary feature lets you store, retrieve, and insert bits of reusable text. I use glossaries to store a lot of the things I need to say over and over again in my correspondence with clients: instructions on updating solutions, downloading files from our server, etc.. But, Mailsmith glossaries can go beyond inserting static text through the use of "placeholders." Some placeholders are simply variables that will be replaced by the current date, time, or username. Some placeholders let you manipulate text. For example, I use this glossary with the #SELECT# placeholder to put angled brackets around a selected URL:

<#SELECT#>

I select the URL, then type option-command-U. (That's the keyboard shortcut I've defined for this glossary). Finally, some placeholders can actually trigger calculations. The "#SCRIPT scriptname#" placeholder that runs the script named as a parameter when the glossary is processed. And the "#SYSTEM command#" placeholder lets you send Unix commands to your default shell when the glossary is processed! The SCRIPT and SYSTEM placeholders must return text values, or values that can be coerced to text; the value returned is inserted into the message where the placeholder was originally.

I'm going to pass quickly over one of Mailsmith's most powerful text-processing features, namely, its find-and-replace feature, which, like the same feature in BBEdit, gives you all the power of regular expressions (grep). I use grep in BBEdit fairly often to massage large sets of raw data. I have found that I don't use it very often in Mailsmith.

By the way, Mailsmith provides tools for manipulating text in incoming messages as well. Ever get a message that's been forwarded two or three times and has gotten horribly misformatted? You can't save edits to incoming mail, but you can clean up formatting disasters in two seconds to make messages easier to read. Get mail lists in digest format? Mailsmith 2 will now extract and display the individual messages for you, and you don't need to use a plug-in. And while some might criticize Mailsmith's user interface as austere, those of us who love the program see the same thing, but regard it as a virtue. I prefer to describe it as uncluttered, and elegant. It's a great environment for reading. There's something grown-up about it. By contrast, when I crank up Mail, I always feel like I'm in the Dr. Seuss section of the library.

Message Management

Those who write a lot of e-mail tend to get a lot in return. Mailsmith helps you manage your mail store with power, intelligence, and efficiency. There are scores of nice features to the user interface that make a difference here. Mailsmith gives you a couple different ways to view your mail (either using a unified three-pane browser, or using a separate window for every mailbox). Contextual menus provide access to most of the commands that can be applied to a message selected in a list. Messages can be moved "manually" from one mailbox to another entirely from the keyboard. But, the three keys to controlling your messages in Mailsmith are filters, advanced queries, and its built-in support for Michael Tsai's SpamSieve.

Since I've written about Mailsmith's filters at length elsewhere, I'll restrict myself here to the executive summary: Mailsmith's filtering options are without equal. Mailsmith filters can have as many criteria as you like, and the criteria can be as simple, or as sophisticated, as you like--almost anything is possible, from finding messages from your mother, to grep pattern matching. Filters can also have multiple actions, such as applying a label to a message, moving the message to a folder, sending an automatic reply, or running an AppleScript script. And, since filters can be attached not just to the incoming mailbox, but to any mailbox, they can be triggered automatically whenever a message is moved, something not possible in other programs. My sense is that the designers of Apple's OS X Mail believe that users are not going to bother with filters; that's why filters have been stuck away in the preferences dialog. In Mailsmith, however, filters are front and center. In fact, there are three quite distinct ways to define filters, all ready to hand.

Mailsmith's simple query command is great for finding messages in the current mailbox from senders whose name include "Bob". But the advanced query command can find almost anything. Actually, the advanced query dialog is nearly identical to the criterion part of the filter-definition dialog, but you may find yourself using different aspects of the dialog in queries than you use in filters. I don't have any filters that test for dates, but I query on dates fairly often. The advanced query feature has two significant limitations. You cannot tell Mailsmith to search within multiple, non-nested mailboxes (something you can do in Eudora). And, advanced queries cannot be saved.

I used to filter incoming messages very aggressively as soon as they arrived, and Mailsmith 2 will filter messages into appropriate mailboxes, then open mailboxes that have new mail. But nowadays I let incoming messages sit in the incoming mailbox, so I can read them all in one place. If I need to find a thread, I use the advanced query dialog (or a script) to do so. When I'm done reading, I apply filters manually. I let filters automatically delete list messages that I haven't marked for keeping. I used to have lots of individualized mailboxes with limited numbers of messages. Now I find it easier to deal with fewer, fatter mailboxes. The change in my M.O. reflects the fact that the advanced query command has become a routine part of my interaction with the application.

Finally, of course, there's the headache of spam. Apple Mail has a powerful spam filtering feature built-in. Most other OS X e-mail clients can use Michael Tsai's SpamSieve scripts to achieve a very similar degree of success. The great thing about SpamSieve is that you train it yourself, and you control every aspect of its operation. And SpamSieve, like Mailsmith, is brilliantly integrated with OS X. You can, for example, use your Address Book as a white list. The smart developers at Bare Bones, recognizing that SpamSieve was a winner, decided that the best thing they could do was provide native support for it in Mailsmith, so that is what they did. This gives Mailsmith the advantage over the non-Apple competition, because SpamSieve doesn't need scripts to work in Mailsmith, and also because it can find, and remove spam before any filtering is done on your messages. SpamSieve has the ugliest icon in my Dock, but doggone it, it is effective. It catches close to 100% of my spam, with just one false positive in the last six months.

Finally, Applescript

Like BBEdit, Mailsmith provides deep, and extensive support for AppleScript. You want control? AppleScript gives it to you. You can, in essence, create your own meta-app with AppleScript to make Mailsmith jump through hoops.

Mailsmith is both recordable, and attachable. Recordability works great sometimes. I wanted to write a little script to select text from the insertion point to the end of the sentence. I turned "Record" on in the Scripts menu, opened the Find definition dialog, enabled grep, and typed in a simple regex that finds the next period or other common sentence terminator. Executed the find, then stopped recording. Here's what was generated:

tell application "Mailsmith"
   activate
   find "[\\.\\!\\;\\?\\r]" searching in text 1 of message window 1 options 
   {search mode:grep, starting at top:false, wrap around:false, backwards:false, 
   case sensitive:false, match words:false, extend selection:true} with selecting match
end tell

Worked perfectly. Note the use of two backslash characters. The second "\" escapes the reserved character that follows it ("." and the others), and is required by Mailsmith. The first "\"escapes the second, and is required by AppleScript.

Now, recording does not always work this well, but many of the kinds of things I personally want to do with AppleScript are child's play. Here, for example, is my "quit" script, triggered when I type Command-Q. (Yes, I've reassigned the keyboard shortcut to this script.)

tell application "SpamSieve"
   activate
   quit
end tell
tell application "Mailsmith"
   activate
   quit
end tell

By the time you read this review, Bare Bones may have fixed the bug that makes it currently impossible to attach a script to the Quit command in the Mailsmith menu. When that bug is fixed, I'll get rid of the second part of the script above, and attach this script to the quit command directly. Then it will be run regardless of whether I type Command-Q or invoke the quit command from the menu.

I mentioned above that you can't save advanced queries; you can, however, script them. AppleScript is a great way to fill in the rare gaps in Mailsmith's feature set. Here, for example, is a script I picked up from another user, and adapted just a bit. The script finds messages that have the same subject as a selected message.

tell application "Mailsmith"
   try
      set message_list to selection as list
      set the_message to item 1 of message_list
      set the_container to container of the_message
      set the_subject to subject of the_message
      if the_subject starts with "Re: " then
         set the_count to count characters of the_subject
         set the_subject to characters 5 thru the_count -
            of the_subject as text
      end if
      set the_name to "Thread: " & the_subject as text
      make new mail list window with data every message -
         of the_container whose subject contains the_subject -
         with properties {name:the_name}
   end try
end tell

This script compensates for Mailsmith's lack of a true threading feature. By comparison, Apple's OS X Mail does have a nifty threading feature, but it hardly compensates for the many serious limitations in Mail's support for AppleScript.

If you are already an AppleScript adept, you are going to love what you can do with Mailsmith. And if you're not? Well, neither am I. But as I suggested above, there's a great deal you can do with very simple scripts, and many more complicated scripts can be borrowed. And, Mailsmith may inspire you to learn more. Matt Neuberg's new book on AppleScript is my nightly reading these days. My hope is someday soon to write an AppleScript that will not only get my mail, and read it for me, but draft and send thoughtful replies as well. I really need to get away from the computer a bit, maybe walk the dog.

System Requirements and Purchasing Information

Mailsmith 2.1 requires Mac OS X version 10.1.5 or higher; OS X version 10.2.6 or later is strongly recommended. (Integration with the OS X Address Book requires 10.2 or later.) You can read more about Mailsmith's features and download a fully-functioning thirty-day demo from Bare Bones's web site:

http://www.barebones.com/products/mailsmith/index.shtml

Mailsmith 2.1 costs $79 if purchased as a new product directly from Bare Bones. Upgrade and cross-grade pricing is also available.

SpamSieve is shipped with Mailsmith but separately licensed. You can more information here:

http://www.c-command.com/spamsieve/

The latest version of SpamSieve as of this writing was 2.1.1.

References

In 2002, I wrote three articles on Mailsmith for TidBits, a review of Mailsmith 1.5 (http://www.tidbits.com/tb-issues/TidBITS-638.html), and a pair of articles on distributed filtering (http://db.tidbits.com/getbits.acgi?tbser=1227). I say a lot in those earlier articles that is still pertinent to Mailsmith, and which I didn't want to repeat here. I recommend the earlier review in particular. The articles on distributed filtering later metamorphosed into chapter 9 of the Mailsmith 2.0 user manual.

Bare Bones has a web page intended to list AppleScript scripts for use with Mailsmith, here:

http://www.barebones.com/support/mailsmith/script_library.shtml

As of this writing, only two scripts are listed. Many more scripts can be found here:

http://www.mailsmith.org/scripts/

The Mailsmith Talk list, sponsored by Bare Bones, is frequented by AppleScript mavens, and they're generous in sharing their knowledge. The threading script used as an example above was adapted from scripts shared on the Mailsmith Talk list.

Matt Neuberg's new book is AppleScript: The Definitive Guide (O'Reilly, 2004). Matt hit a homerun with his earlier book on RealBasic; he's hit another home run with this one. As it happens, Matt reviewed Mailsmith 2.0 for TidBits (http://db.tidbits.com/getbits.acgi?tbart=07289). I recommend his review, which takes a quite different tack from this one. It is entitled, "True Confessions of a Mailsmith Switcher."


William Porter, Ph.D., a former professor of Classics and Honors at the University of Houston, now spends most of his time doing e-mail, or building databases. He is the owner of Polytrope, LLC, an independent database development firm in Dallas, Texas. He has written for MacTech in the past about 4D, and FileMaker Pro. He reviewed Mailsmith 1.5 in 2002 for TidBits, and later wrote the chapter on filtering in the Mailsmith 2.0 user manual. You can reach him at wp@polytrope.com.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Google Drive 1.20 - File backup and shar...
Google Drive is a place where you can create, share, collaborate, and keep all of your stuff. Whether you're working with a friend on a joint research project, planning a wedding with your fiancé, or... Read more
Simon 4.0.3 - Monitor changes and crashe...
Simon monitors websites and alerts you of crashes and changes. Select pages to monitor, choose your alert options, and customize your settings. Simon does the rest. Keep a watchful eye on your... Read more
Vitamin-R 2.23 - Personal productivity t...
Vitamin-R creates the optimal conditions for your brain to work at its best by structuring your work into short bursts of distraction-free, highly focused activity alternating with opportunities for... Read more
iDefrag 5.0.0 - Disk defragmentation and...
iDefrag helps defragment and optimize your disk for improved performance. Features include: Supports HFS and HFS+ (Mac OS Extended). Supports case sensitive and journaled filesystems. Supports... Read more
PCalc 4.2 - Full-featured scientific cal...
PCalc is a full-featured, scriptable scientific calculator with support for hexadecimal, octal, and binary calculations, as well as an RPN mode, programmable functions, and an extensive set of unit... Read more
FileZilla 3.10.2 - Fast and reliable FTP...
FileZilla (ported from Windows) is a fast and reliable FTP client and server with lots of useful features and an intuitive interface. Version 3.10.2: Note: Now requires a 64-bit Intel processor.... Read more
The Hit List 1.1.11 - Advanced reminder...
The Hit List manages the daily chaos of your modern life. It's easy to learn - it's as easy as making lists. And it's powerful enough to let you plan, then forget, then act when the time is right.... Read more
Bartender 1.2.32 - Organize your menu ba...
Bartender lets you organize your menu bar apps. Features: Lets you tidy your menu bar apps how you want. See your menu bar apps when you want. Hide the apps you need to run, but do not need to... Read more
ClamXav 2.7.5 - Free virus checker, base...
ClamXav is a free virus checker for OS X. It uses the tried, tested, and very popular ClamAV open source antivirus engine as a back end. I hope you like and use ClamXav a lot and that it helps keep... Read more
xScope 4.1.2 - Onscreen graphic measurem...
xScope is powerful set of tools that are ideal for measuring, inspecting, and testing on-screen graphics and layouts. Its tools float above your desktop windows and can be accessed via a toolbar,... Read more

Dungeon Hunter 5 Coming on March 12
Gameloft has excitedly announced that Dungeon Hunter 5 is on its way! Once again, you will adventure across the land of Valenthia exploring dungeons and fighting monsters. The game will have a new asynchronous multiplayer mode called Strongholds... | Read more »
It Came From Canada: Jurojin: Immortal N...
At this point it’s pretty safe to say that no MOBA is going to dethrone Dota 2 and League of Legends anytime soon. After all, if Batman can’t do it, nobody can. However, with a genre as popular and profitable as this one, there’s still room for... | Read more »
Tiny Farm – Animals, Tractors and Advent...
Tiny Farm – Animals, Tractors and Adventures! Review By Amy Solomon on March 3rd, 2015 Our Rating: :: LIVELY LANDSCAPESUniversal App - Designed for iPhone and iPad Tiny Farm – Animals, Tractors and Adventures! includes farm-related... | Read more »
This Week at 148Apps: February 23-27, 20...
Final February Fun at 148Apps   How do you know what apps are worth your time and money? Just look to the review team at 148Apps. We sort through the chaos and find the apps you’re looking for. The ones we love become Editor’s Choice, standing out... | Read more »
GDC 2015 – Does Not Commute is Definitel...
GDC 2015 – Does Not Commute is Definitely a Game You Should Keep an Eye on Posted by Rob Rich on March 2nd, 2015 [ permalink ] We were teased about Mediocre Games’ (Smash Hit, | Read more »
F84 Games & POW! Announce Stan Lee V...
F84 Games has announced that it is working with legendary comic creator Stan Lee and POW! Entertainment to produce Stan Lee’s Hero Command. The game will be a action adventure of heroic proportions. | Read more »
Setlyst Keeps Your Set Straight So You C...
Setlyst Keeps Your Set Straight So You Can Focus On Rocking Out. Posted by Jessica Fisher on March 2nd, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Space is Vast, So Space Agency Has a Vas...
Space is Vast, So Space Agency Has a Vast New Update! Posted by Jessica Fisher on March 2nd, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Size DOES Matter Review
Size DOES Matter Review By Campbell Bird on March 2nd, 2015 Our Rating: :: HARD TO BEATUniversal App - Designed for iPhone and iPad This rhythm game has a unique control scheme and performance system that make it feel like a true... | Read more »
The first ever action 3D card battler Al...
On the other hand, you probably haven’t played an action 3D card battler – until now. Step forward, All Star Legion. All Star Legion is a 3D QTE-based action RPG card battler, but fear not – the game itself isn’t as convoluted as its description.... | Read more »

Price Scanner via MacPrices.net

Another Tranche Of IBM MobileFirst For iOS Ap...
IBM has announced the next expansion phase for  its IBM MobileFirst for iOS portfolio, with a troika of new apps to address key priorities for the Banking and Financial Services, Airline and Retail... Read more
Sale! 15-inch Retina MacBook Pros for up to $...
B&H Photo has the new 2014 15″ Retina MacBook Pros on sale for up to $250 off MSRP for a limited time. Shipping is free, and B&H charges NY sales tax only: - 15″ 2.2GHz Retina MacBook Pro: $... Read more
WaterField Designs Introduces the Minimalist...
With Apple Pay gaining popularity, Android Pay coming in May 2015, and loyalty cards and receipts that can be accessed from smartphones, San Francisco’s WaterField Designs observes that it may be... Read more
Sale! 15-inch 2.2GHz Retina MacBook Pro for $...
 Best Buy has the 15″ 2.2GHz Retina MacBook Pro on sale for $1774.99 $1799.99, or $225 off MSRP. Choose free home shipping or free local store pickup (if available). Price valid for online orders... Read more
13-inch 2.5GHz MacBook Pro (refurbished) avai...
The Apple Store has Apple Certified Refurbished 13″ 2.5GHz MacBook Pros available for $170 off the cost of new models. Apple’s one-year warranty is standard, and shipping is free: - 13″ 2.5GHz... Read more
13-inch 2.5GHz MacBook Pro on sale for $100 o...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $999.99 including free shipping plus NY sales tax only. Their price is $100 off MSRP. Read more
27-inch 3.5GHz 5K iMac in stock today and on...
 B&H Photo has the 27″ 3.5GHz 5K iMac in stock today and on sale for $2299 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’s the lowest price available for... Read more
Apple Launches Free Web-Based Pages and Other...
Apple’s new Web-only access to iWork productivity apps is a free level of iCloud service available to anyone, including people who don’t own or use Apple devices. The service includes access to Apple... Read more
Survey Reveals Solid State Disk (SSD) Technol...
In a recent SSD technology use survey, Kroll Ontrack, a firm specializing in data recovery, found that while nearly 90 percent of respondents leverage the performance and reliability benefits of SSD... Read more
Save up to $600 with Apple refurbished Mac Pr...
The Apple Store is offering Apple Certified Refurbished Mac Pros for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The... Read more

Jobs Board

*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
*Apple* Pay Automation Engineer - iOS System...
**Job Summary** At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring passion and dedication to your job Read more
Sr. Technical Services Consultant, *Apple*...
**Job Summary** Apple Professional Services (APS) has an opening for a senior technical position that contributes to Apple 's efforts for strategic and transactional Read more
Event Director, *Apple* Retail Marketing -...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global engagement strategy and team. Delivering an overarching brand Read more
*Apple* Pay - Site Reliability Engineer - Ap...
**Job Summary** Imagine what you could do here. At Apple , great ideas have a way of becoming great products, services, and customer experiences very quickly. Bring Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.