self-contained example : default example in promises