This is a followup to the first article in this series. Once you are comfortable with the concepts explained in that article, you can come back and continue with this.