Be warned that this post will be incredibly lengthy. Have lots of patience to read this. I can assure you it will be worth the read ...
Read this post on flashwin.me