I won't explain how you managed to structure all of this, it's a hard to read but informative article