prototypes for Promises and setTimeout