pass self depending on method arity.
upgrade version