add generics to CollaborativeMap