Caching at a good point; still needs work though.