Messing around with decorators
Added decorator
decorated the wrapper using functools.wraps and passed the wrapped function so that the properties of the wrapped function will be passed on to the wrapper.
Add documentation to the function to check how wraps preserves the doc strings.
decorator for a class
Hodge podge