add cache system
add compat module
add config module
new reader._base
add test case for readers base
fix test cases for cache