extension of promise concept