broke most tests, but improved name corner cases