begin to rewrite parameter passing for instance methods