major performance improvment
cache