handle map-identity better; allow two options