If you really want to understand how this library works, I recommend you to read the following articles.