response chan is a "promise"