a little more restructuring for recorderplayer. private stuff. length working