Here is a more minimal version of the code with comments, in case you're interested and want a good starting point.code
Try searching again...