change method contract