Added caching and cleaned up packages