Added caching with LocalStorage, fixed #3