TODO: block scoping