add EditableMap class
add methods to EditableMap
merged conflicts