Inital version with visitor acceptor