block vs scope distinction