Añadidas funciones, corregido y clarificado código