contract operation