Move stuff to app, add cache, clean up