progrssive streaming, has a few bugs