new method for contracts