updating decorator and tests