revise wrapper using decorator module