This is good it deserves it's own thread