making better autoplay with promises