adding cache solution