add ArrayKeyMatcher
add failure message
add dsl spec