I did wonder why you had not commented on what the breakthrough was.
You done good to get it working so you probably have a natural ability.
I'm a master of no coding language but have the ability to look at it and throw it together. But I try and understand the code I am laying down. Which in the long run builds my recognition /understanding of what code is doing and why.
Similar to what I did just now to try and follow what the breakthrough was. I looked for differences in the code and where I found something I did not recognise or could not remember what it was I looked it up.
Try and look up the definitions of some of the code commands you have used so you can gain a better understanding, It will be well worth it in time.