Visit

Work on #6, not totally done.