more work on caching, styling