Отличное объяснение от @reppo