macro scoping appears to work