Initial code review of current code base

does name_valid need to be public?