Made faster with preloading and cache headers. needs testing
faster maybe