this is probably the most detailed article that i had written 2 years back. Kindly give it a read and let me know what you think of it