blocks and lexical scoping
files