made array and object comparisons recursive