cache lib for erlang