Added caching
Updated requirements