added persistent Map trait