I am trying to do the same but stuck in the middle. Hoping for a expert reply to resolve this.
You're doing a great job @pvadam
I think I'm going to play around with your code to understand the point of this problem.
Seeking attention of the @administrators