visitor can register [finish #79854006 #79854478]

This can be refactored?