partially working Promise sync