I would also recommend taking a look at this topic.
Me and a few other users have shared a ton of examples there.