http://craftsanity.com/2010/01/craft...es-on-the-fly/