added erlang map reduce