There has been a lot of interest around this and hence I have attached some code listing to this post. Check it out!