lots of style fixes and interaction updates, caching data