big cache update, design changes