Implementacion de la primera parte con tests