add exception and cache module