Add new feature

Add caching system
Fix plugin system