Después divide las implementaciones en tres tipos: