function vs block scoped and namespaces