inner class broadcast not work (i dont know why), so change to outer class broadcast
inner class broadcast not work (i dont know why), so change to outer class broadcast
implement base play feature
change todo comment