remove nil? where not required
consistently return visitor object
use string instead of potential nil object