cache using hash. fixes #17
0.2.4