Add cache and search interface.
modify cache and search interface.
add compareable interface.