some docs for promise, but more fixes for define