must have lower-case name