SANE differs from TWAIN in that it is cleanly separated into "front ends" (user programs) and "back ends" (scanner drivers). Whereas a TWAIN driver handles the user interface as well as communications with the scanner hardware, a SANE driver only provides an interface with the hardware and describes a number of "options" which drive each scan. These "options" specify parameters such as the resolution of the scan, the scan area, colour model, etc. Each "option" has a name, and information about its type, units, and range or possible values (e.g., enumerated list). By convention there are several "well known" "options" that front ends can supply using convenient GUI interaction e.g., the scan area "options" can be set by dragging a rectangular outline over a preview image. Other options can be presented using GUI elements appropriate to their type e.g., sliders, drop-down lists, etc.