better data structure and cache test