Merge remote-tracking branch 'origin/1.4.0-node' into 1.4.0-node
add unique logic
add identityKey method
Rename methods
to map
remove code