reimplement app cache
version 0.2