handle new contract