more robust player, progress on expiration