modified decorators to support both args and kwargs.