add another visitor
refine proxy pattern test case