add thenResolve and thenReject utility methods