updated explanation