https://1library.net/document/y880egry-separating-contract-and-promise.html