updated the layout, added caching module