Fix promise support (first pass)