thumbnail generation and disk caching

// FREEBIE