Doing all this work on your own is impressive! I struggled to understand at the beginning, but in the end, it makes sense. Great job!