diff --git a/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java b/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java
index 7b5fa24da56e686e70c48437b0eb24f103e2157c..b569a01bfcc7043b08ae7569cd83d8b1f09e3160 100644
--- a/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java
+++ b/UyTube_aplicacion/src/Logica/Clases/ListaDeReproduccion.java
@@ -1,6 +1,7 @@
 package Logica.Clases;
 
 import Logica.DataType.DtListaDeReproduccion;
+import Logica.DataType.DtVideo;
 import Logica.Enumerados.Privacidad;
 import Logica.Enumerados.TipoListaDeReproduccion;
 import java.util.ArrayList;
@@ -31,49 +32,97 @@ public class ListaDeReproduccion {
         this.misVideos = new TreeMap();
     }
 
-    public static int getNuevoId(){
-        return contadorListasDeReproduccion++;
+    public static int getNuevoId() {
+        return contadorListasDeReproduccion;
     }
-    
-    
+
     public int getId() {
         return id;
     }
 
+    public void setId(int id) {
+        this.id = id;
+    }
+
     public String getNombre() {
         return nombre;
     }
 
+    public void setNombre(String nombre) {
+        this.nombre = nombre;
+    }
+
     public Privacidad getPrivacidad() {
         return privacidad;
     }
 
+    public void setPrivacidad(Privacidad privacidad) {
+        this.privacidad = privacidad;
+    }
+
     public TipoListaDeReproduccion getTipo() {
         return tipo;
     }
 
+    public void setTipo(TipoListaDeReproduccion tipo) {
+        this.tipo = tipo;
+    }
+
     public String getCategoria() {
         return categoria;
     }
+
+    public void setCategoria(String categoria) {
+        this.categoria = categoria;
+    }
+
+    @Override
+    public String toString() {
+        return "ListaDeReproduccion{" + "id=" + id + ", nombre=" + nombre + ", privacidad=" + privacidad + ", tipo=" + tipo + ", categoria=" + categoria + ", misVideos.size=" + misVideos.size() + '}';
+    }
     
-    
+    /////////////////////////////////////////////////////////////////////////////////////////
+
     public void agregarVideoA(Video v){
-        
+        // agrega el video y su clave a la coleccion
+        this.misVideos.put(v.getId(), v);
     }
     
     public DtListaDeReproduccion getDt(){
+        // devuelve un DT con los datos de la lista
         return new DtListaDeReproduccion(this.id, this.nombre, this.privacidad, this.tipo, this.categoria);
     }
 
-    public ArrayList listarVideos(){
-        return new ArrayList();
+    public ArrayList<DtVideo> listarVideos(){
+        // crea una lista de retorno
+        ArrayList<DtVideo> ret = new ArrayList();
+        
+        // para cada elemento en misVideos
+        /**
+         * este for no es normal, se declara la variable m que es de tipo
+         * Entrada de Map (como un nodo arbol), y autmaticamente la hace avanzar
+         * por todas las entradas de la coleccion.
+         * De la entrada actual se puede obtener la Key y el Valor almacenado
+         */
+        for (Map.Entry<Integer, Video> m : misVideos.entrySet()){
+            // hace un getDT y lo agrega a la coleccion de retorno
+            ret.add(m.getValue().getDt());
+        }
+        
+        return ret;
     }
     
     public void modificar(DtListaDeReproduccion ldr) {
-
+        // se sobreescriben los atributos que pueden ser modificados
+        this.nombre = ldr.getNombre();
+        this.privacidad = ldr.getPrivacidad();
+        this.categoria = ldr.getCategoria();
+        // el ID y el tipo de lista no se puede modificar
     }
-
+    
     public void quitarVideo(int idVideo) {
-
+        // remueve de la coleccion el video con la clave idVideo
+        this.misVideos.remove(idVideo);
     }
+    
 }
diff --git a/UyTube_aplicacion/src/Logica/Clases/Video.java b/UyTube_aplicacion/src/Logica/Clases/Video.java
index 68ca30b373726c2e7b524a619216e29b40e1f40a..e4ddd22af6bddbade440c5f0e413f92bec90365e 100644
--- a/UyTube_aplicacion/src/Logica/Clases/Video.java
+++ b/UyTube_aplicacion/src/Logica/Clases/Video.java
@@ -50,16 +50,18 @@ public class Video {
         
     }
     
-    public DtVideo getDtVideo(){
-        
-        
+    public DtVideo getDt(){
+        return new DtVideo(this.id, this.nombre, this.descripcion, this.duracion, this.fechaPublicacion, this.urlVideoOriginal, this.privacidad, this.categoria, this.cantLikes, this.cantDisLikes);
     }
     
     public ArrayList<DtComentario> listarComentarios(){
-        
+        // provisorio
+        return new ArrayList();
     }
    
     public ArrayList<DtValoracion> listarValoraciones(){
+        // provisorio
+        return new ArrayList();
         
     }
     
@@ -68,10 +70,11 @@ public class Video {
     }
     
     public DtValoracion obtenerValoracion(String nickname){
-        
+        // provisorio
+        return new DtValoracion();
     }
     
-    public static int obtenerNuevoId(){
+    public static int getNuevoId(){
         int nuevoId = idActual ++;
         return nuevoId;        
     }
@@ -156,6 +159,11 @@ public class Video {
     public void setCantDisLikes(int cantDisLikes) {
         this.cantDisLikes = cantDisLikes;
     }
+
+    @Override
+    public String toString() {
+        return "Video{" + "id=" + id + ", nombre=" + nombre + ", descripcion=" + descripcion + ", duracion=" + duracion + ", fechaPublicacion=" + fechaPublicacion + ", urlVideoOriginal=" + urlVideoOriginal + ", privacidad=" + privacidad + ", categoria=" + categoria + ", cantLikes=" + cantLikes + ", cantDisLikes=" + cantDisLikes + '}';
+    }
     
     
     
diff --git a/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java b/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java
index cfccc06332c9d756b4226eee965e5e6237665f11..23da0c5ba5e88ee99acfd9ec2863fed8f0dba63e 100644
--- a/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java
+++ b/UyTube_aplicacion/src/Logica/DataType/DtListaDeReproduccion.java
@@ -20,23 +20,29 @@ public class DtListaDeReproduccion {
         this.categoria = categoria;
     }
 
-    public void setId(int id) {
-        this.id = id;
+    public int getId() {
+        return id;
     }
 
-    public void setNombre(String nombre) {
-        this.nombre = nombre;
+    public String getNombre() {
+        return nombre;
     }
 
-    public void setPrivacidad(Privacidad privacidad) {
-        this.privacidad = privacidad;
+    public Privacidad getPrivacidad() {
+        return privacidad;
     }
 
-    public void setTipo(TipoListaDeReproduccion tipo) {
-        this.tipo = tipo;
+    public TipoListaDeReproduccion getTipo() {
+        return tipo;
     }
 
-    public void setCategoria(String categoria) {
-        this.categoria = categoria;
+    public String getCategoria() {
+        return categoria;
+    }
+
+    @Override
+    public String toString() {
+        return "DtListaDeReproduccion{" + "id=" + id + ", nombre=" + nombre + ", privacidad=" + privacidad + ", tipo=" + tipo + ", categoria=" + categoria + '}';
     }
+    
 }
diff --git a/UyTube_aplicacion/src/Logica/DataType/DtVideo.java b/UyTube_aplicacion/src/Logica/DataType/DtVideo.java
index b80ff568ac2e6566c6b0afedbae671c3b5a51e3f..6c6f879bd4fdd085a11a4dc6c0277888af368816 100644
--- a/UyTube_aplicacion/src/Logica/DataType/DtVideo.java
+++ b/UyTube_aplicacion/src/Logica/DataType/DtVideo.java
@@ -71,4 +71,11 @@ public class DtVideo {
     public int getCantDisLikes() {
         return cantDisLikes;
     }
+
+    @Override
+    public String toString() {
+        return "DtVideo{" + "id=" + id + ", nombre=" + nombre + ", descripcion=" + descripcion + ", duracion=" + duracion + ", fechaPublicacion=" + fechaPublicacion + ", urlVideoOriginal=" + urlVideoOriginal + ", privacidad=" + privacidad + ", categoria=" + categoria + ", cantLikes=" + cantLikes + ", cantDisLikes=" + cantDisLikes + '}';
+    }
+    
+    
 }
diff --git a/UyTube_aplicacion/src/Logica/main.java b/UyTube_aplicacion/src/Logica/main.java
index bcab9b771943bd46e9aec962837639cf7ccc4b26..f5caed7e50c266131baeee431ce6b045ba6df5c1 100644
--- a/UyTube_aplicacion/src/Logica/main.java
+++ b/UyTube_aplicacion/src/Logica/main.java
@@ -1,12 +1,50 @@
 package Logica;
 
 import Logica.Clases.*;
+import Logica.DataType.*;
+import Logica.Enumerados.*;
 import java.sql.Date;
+import java.sql.Time;
+import java.util.ArrayList;
 
 public class main {
     public static void main(String[] args) {
         System.out.println("Hola mundo");
         
-    
+        
+        System.out.println("Creando lista nueva");
+        ListaDeReproduccion l1 = new ListaDeReproduccion(1, "lista_test", Privacidad.PRIVADO, TipoListaDeReproduccion.PARTICULAR, "UNDEFINED");
+        System.out.println(l1.toString());
+        
+        System.out.println("Creando 5 videos");
+        Video v1 = new Video(Video.getNuevoId(), "video_1", "desc_1", new Time(0, 1, 50), new Date(2019-1900, 0, 5), "url_1", "DEFAULT");
+        Video v2 = new Video(Video.getNuevoId(), "video_2", "desc_2", new Time(0, 2, 40), new Date(2019-1900, 2, 4), "url_2", "MUSICA");
+        Video v3 = new Video(Video.getNuevoId(), "video_3", "desc_3", new Time(0, 3, 30), new Date(2019-1900, 3, 3), "url_3", "DEPORTE");
+        Video v4 = new Video(Video.getNuevoId(), "video_4", "desc_4", new Time(0, 4, 20), new Date(2019-1900, 4, 2), "url_4", "GAMING");
+        Video v5 = new Video(Video.getNuevoId(), "video_5", "desc_5", new Time(0, 5, 10), new Date(2019-1900, 5, 1), "url_5", "MUSICA");
+        
+        System.out.println("agregando videos 1, 3 y 4");
+        l1.agregarVideoA(v3);
+        l1.agregarVideoA(v1);
+        l1.agregarVideoA(v4);
+        System.out.println(l1.toString());
+        
+        System.out.println("Quitando video 2");
+        l1.quitarVideo(2);
+        System.out.println(l1.toString());
+        System.out.println("Quitando video 3");
+        l1.quitarVideo(3);
+        System.out.println(l1.toString());
+        System.out.println("agregando video 5");
+        l1.agregarVideoA(v5);
+        
+        System.out.println("Listando todos los videos");
+        ArrayList<DtVideo> dt = l1.listarVideos();
+        for (int i = 0; i < dt.size(); i++){
+            System.out.println(dt.get(i).toString());
+        }
+        
+        
+        
     }
 }