some tests
add caching