tweaked canplaythrough
pretty good implementation completed