Codigo con comentarios arreglados y ordenado. FALTAN LOS LOGS