A beginners guide to generators