added function avowal, exposed isPromise method