player: rebuild