Reordenando código

Reordenando código, reorganizándolo en funciones y añadiendo más
comentarios.