Smart thinking: contract automation explained