rewrote validation to allow spaces (e.g 'New York') and hypen