If you are going to ask someone to explain every single function used in the plugin, you will be waiting a long time. It would be better if you just split it into the parts that you can't figure out on your own by searching
I do not browse the forums regularly anymore. If you need me for anything (asking questions or anything else), then PM me (be descriptive in your PM, message containing only a link to a thread will be ignored).