fix #5: add array matching feature