compatible with new cache interface.
passed test cases