add cache and unpersist