pretty good implementation completed
added canplaythrough listener with play as backup for stalls