implement caching
fix syntax
ad memory cache adapter
add caching test