redirect the output of commands in your shell scripts to a log-file, while writing your own information to the terminal - handle errors and exits in a concise and consistent manner - all with similar behavior in different shells