add field prototype object; add isEqual(); change field type array -> object