key-value store in Erlang