Why am I doing this and what the hell was I thinking? Hopefully these two posts elaborate on that: Intro 1 Intro 2