promise editor