Added many helper methods, updated Alan's visit methods, untested