functools.wraps is a decorator that copies a bunch of the metadata about the function being wrapped -- makes decorated functions more friendly. -CHB