add hash? and array? predicate and change array index start from 0