Checkpoint

Funciona lo mismo pero se agrego codig de funcs y restructura. Apartir
de aquí nada es igual :D