note cache
refactor