Fixing and improvement

Added caching and rewritten data fetching