updated explination