state playback is functional but also bit rough