rewrite decorators so that instance methods is working