decorator class that takes arguments