even smarter dependency watching