switched to an even smaller promise library