Añadiendo código y pruebas