visitor and coimmand