Add cache support and more useful examples.