add demo promise