Hay dos implementaciones diferentes: