moved playbac implementation to library