Cache location

Add the ability to use a cache other than 'default'. Passes test cases ;)