Page caching

Signed-off-by: cocolekat <cocolekat@gmail.com>