make deep watch traverse arrays