to much for one commit but added cacheing and change a boatload of styles