Thanks to Chris Hill for the great stuff below
1