modular name and reference checking