implemented own bad cache