clearer visitor initialization