Spent a long time working on this. Hope you guys enjoy: