Thanks Foam.

It's a bit long...