use deep watch instead of watchCollection