added support for decorating classes
functools.wraps does not support classes