Se incluyen comentarios a toda la implementación