diff --git a/UyTube_aplicacion/src/Logica/Clases/Persona.java b/UyTube_aplicacion/src/Logica/Clases/Persona.java
index da1e0fb7b691b8a472451d715cff787fa0822e12..f6d4a02f9d0d6b4619de7d05a129fc7fea7ae2c1 100644
--- a/UyTube_aplicacion/src/Logica/Clases/Persona.java
+++ b/UyTube_aplicacion/src/Logica/Clases/Persona.java
@@ -1,20 +1,17 @@
 package Logica.Clases;
 
 public class Persona {
-    String nombre;
-    String apellido;
-    String contrnia;
-
-    public Persona(){
-        this.nombre = "";
-        this.apellido = "";
-        this.contrnia = "";
-    }
-
-    public Persona(String nombre, String apellido, String contrnia) {
+    private String nombre;
+    private String apellido;
+    private String contrasenia;
+
+    public Persona(String nombre, String apellido, String contrasenia) {
+        if(contrasenia == ""){
+                throw new RuntimeException("La contraseña no puede ser Vacio");
+        }
         this.nombre = nombre;
         this.apellido = apellido;
-        this.contrnia = contrnia;
+        this.contrasenia = contrasenia;
     }
 
     public String getNombre() {
@@ -33,13 +30,16 @@ public class Persona {
         this.apellido = apellido;
     }
 
-    public String getContraseña() {
-        return contrnia;
+    public String getContrasena() {
+        return contrasenia;
     }
 
-    public void setContraseña(String contraseña) {
-        this.contrnia = contraseña;
+    public void setContrasenia(String contrasenia) {
+        this.contrasenia = contrasenia;
     }
     
+    public boolean validarContrasenia(String pass){
+        return this.contrasenia.equals(pass);
+    }
     
 }
diff --git a/UyTube_aplicacion/src/Logica/Clases/Usuario.java b/UyTube_aplicacion/src/Logica/Clases/Usuario.java
index 7f4cf84439f86c5d19bd202dbbf119caa9a253af..2d7ce3aa7e2bab9b504901740d3be3acfba81ce1 100644
--- a/UyTube_aplicacion/src/Logica/Clases/Usuario.java
+++ b/UyTube_aplicacion/src/Logica/Clases/Usuario.java
@@ -17,8 +17,6 @@ public class Usuario extends Persona{
     private Map<String, Usuario> seguidos;
     
 
-    public Usuario() {}
-    
     public Usuario(String nickname, String correo, Date fechaNacimiento, String imagen, String contrasenia, String nombre, String apellido ,DtCanal DTC) {
         super(nombre,apellido,contrasenia);
         
@@ -36,11 +34,6 @@ public class Usuario extends Persona{
             throw new RuntimeException("El correo no puede ser Vacio");
         }
         
-        if(contrasenia == ""){
-                throw new RuntimeException("La contraseña no puede ser Vacio");
-        }
-        
-        
         this.nickname = nickname;
         this.correo = correo;
         this.fechaNacimiento = fechaNacimiento;
@@ -72,7 +65,7 @@ public class Usuario extends Persona{
     }
 
     public DtUsuario getDT(){
-        return new DtUsuario(this.nickname, this.contrnia, this.nombre, this.apellido, this.correo, this.fechaNacimiento, this.imagen, this.seguidores);//Es el otro constructor
+        return new DtUsuario(this.nickname, super.getContrasena(), super.getNombre(), super.getApellido(), this.correo, this.fechaNacimiento, this.imagen, this.seguidores);
     }
     
     public void actualizarListasPorDefecto(){
@@ -124,6 +117,9 @@ public class Usuario extends Persona{
         if(Usu == null){
             throw new RuntimeException("El usuario no puede ser null");
         }
+        if(Usu == this){
+            throw new RuntimeException("Un usuario no se puede seguir a si mismo");
+        }
         
         if (this.seguidos.containsKey(Usu.getNickname())){
             this.seguidos.remove(Usu.getNickname());
@@ -134,7 +130,8 @@ public class Usuario extends Persona{
         Usu.agregarOQuitarSeguidor(this);
     }
     
-    public void agregarOQuitarSeguidor(Usuario Usu){
+    // si, esta si es private, no es un error
+    private void agregarOQuitarSeguidor(Usuario Usu){
         if(Usu == null){
             throw new RuntimeException("El usuario no puede ser null");
         }
@@ -161,7 +158,11 @@ public class Usuario extends Persona{
             throw new RuntimeException("El usuario no puede ser null");
         }
         
-        this.agregarVideoALista(idLista, idVideo, Usu);
+        Video v = Usu.obtenerVideo(idVideo);
+        if (v == null){
+            throw new RuntimeException("El video no pertenece al usuario: " + Usu.getNickname());
+        }
+        this.MiCanal.agregarVideoALista(idLista, v);
     }
     
     public ArrayList<DtComentario> listarComentariosDeVideo(int idVideo){
@@ -210,13 +211,16 @@ public class Usuario extends Persona{
         if(DtUsu == null){
             throw new RuntimeException("El usuario no puede ser null");
         }
+        if(DtUsu.getFechaNacimiento() == null){
+            throw new RuntimeException("La fecha no puede ser null");
+        }
         if(DtCanal == null){
             throw new RuntimeException("El canal no puede ser null");
         }
         
-        this.nombre = DtUsu.getNombre();
-        this.apellido = DtUsu.getApellido();
-        this.contrnia = DtUsu.getContrasenia();
+        super.setNombre(DtUsu.getNombre());
+        super.setApellido(DtUsu.getApellido());
+        super.setContrasenia(DtUsu.getContrasenia());
         this.fechaNacimiento = DtUsu.getFechaNacimiento();
         this.imagen = DtUsu.getImagen();
         
@@ -227,7 +231,7 @@ public class Usuario extends Persona{
         if(DtListaDeReproduccion == null){
             throw new RuntimeException("La lista de reproduccion no puede ser null");
         }
-                
+        
         this.MiCanal.modificarListaDeReproduccion(DtListaDeReproduccion);
     }
     
@@ -255,8 +259,7 @@ public class Usuario extends Persona{
             throw new RuntimeException("El nickname no puede ser vacio");
         }
         
-        //return this.MiCanal.obtenerValoracion(id, nickname);
-        return null;//Esto se saca
+        return this.MiCanal.obtenerValoracion(id, nickname);
     }
     
     public Video obtenerVideo(int id){
@@ -293,6 +296,5 @@ public class Usuario extends Persona{
         }
         return this.MiCanal.validarListaParticular(nombre);
     }
-    
 }
 
diff --git a/UyTube_aplicacion/src/Logica/main.java b/UyTube_aplicacion/src/Logica/main.java
index de8f76d100428b3752bf65550ffbb02c3431a96d..c0e6897f9591384f38b553b6272a94bc348e31b7 100644
--- a/UyTube_aplicacion/src/Logica/main.java
+++ b/UyTube_aplicacion/src/Logica/main.java
@@ -1,8 +1,49 @@
 package Logica;
 
+import Logica.Clases.Usuario;
+import Logica.DataType.DtCanal;
+import Logica.DataType.DtUsuario;
+import Logica.Enumerados.Privacidad;
+import java.sql.Date;
+import java.util.ArrayList;
+
 
 public class main {
     public static void main(String[] args) {
+        try {
+             Usuario u1 = new Usuario("nk1", "c1", new Date(0, 0, 0), "", "1234", "nom", "ape", 
+                new DtCanal(0, "canal1", "", Privacidad.PRIVADO));
+            Usuario u2 = new Usuario("nk2", "c2", new Date(0, 0, 0), "", "1234", "nom", "ape", 
+                new DtCanal(0, "canal2", "", Privacidad.PRIVADO));
+            Usuario u3 = new Usuario("nk3", "c3", new Date(0, 0, 0), "", "1234", "nom", "ape", 
+                new DtCanal(0, "canal3", "", Privacidad.PRIVADO));
+            Usuario u4 = new Usuario("nk4", "c4", new Date(0, 0, 0), "", "1234", "nom", "ape", 
+                new DtCanal(0, "canal4", "", Privacidad.PRIVADO));
+            
+            u1.agregarOQuitarSeguido(u2);
+            u1.agregarOQuitarSeguido(u3);
+            u1.agregarOQuitarSeguido(u4);
+            
+            u3.agregarOQuitarSeguido(u1);
+            
+            
+            ArrayList<DtUsuario> l1 = u3.listarUsuariosSeguidos();
+            ArrayList<DtUsuario> l2 = u3.listarUsuariosSeguidores();
+            
+            for (int i = 0; i < l1.size(); i++){
+                System.out.println(l1.get(i).toString());
+            }
+            
+            System.out.println("-------------------");
+            
+            for (int i = 0; i < l2.size(); i++){
+                System.out.println(l2.get(i).toString());
+            }
+            
+        } catch (Exception e) {
+            System.out.println("-->>" + e);
+        }
+ 
         
         
     }