don't accept empty string as a name