safeguards for bad names but a test doesn't pass
lots and lots of changes