cache stuff but not done yet